Table of Contents
Programmi Android
Open GPS Tracker
Il programma Open GPS Tracker parrebbe un ottimo data logger, per di più con licenza libera. Tuttavia sul Google Nexus S, Android 4.0.4 ha il grave bug di smettere la tracciatura tutte le volte che l'applicazione va in background oppure il telefono va in stand-by.
La documentazione invece dice che dovrebbe andare regolarmente in background, anzi dovrebbe potersi registrare anche come servizio avviato atuomaticamente al boot.
Altro problema è che a volte risulta difficile terminare l'applicazione, che in assenza di segnale GPS ogni tanto si risveglia con una sorta di allarme molto fastidioso (sopratto in piena notte).
Lasciando l'applicazione in esecuzione in foreground e disabilitando lo stand-by si riesce a registrare una traccia abbastanza accurata. Provato con una precisione di tracciatura impostata su 5 minuti e 10 metri.
GeoPaparazzi
GeoPaparazzi is an Android application for GPS surveying, it can be used to gather OpenStreetMap points.
To activate the OpenStreetMap tools: menu Configuration → OpenStreetMap Settings → Enable OSM tools. Then exit the program. At next start, it will download http://geopaparazzi.googlecode.com/files/osmtags.zip and a new OSM icon will appear on the map view. See this post Geopaparazzi 2.6.0 is out - OSM, Mixare and GeoSMS for more details.
I got a problem (GeoPaparazzi 3.0.0): the file osmtags.zip does not download and the error message appears: An error occurred while downloading the OSM tags. This is the request, which receives an Error 404 (Not Found):
POST /files/osmtags.zip HTTP/1.1 User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.0.4; Nexus S Build/IMM76D) Host: geopaparazzi.googlecode.com Connection: Keep-Alive Accept-Encoding: gzip Content-Type: application/x-www-form-urlencoded Content-Length: 0
Registratori di suoni
Pro |
---|
Registra in background |
No limiti |
Formati supportati AMR, AAC e PCM |
No ads |
Contro |
Manca multi select file manager |
Manca gain setting e vmeter |
Non fa geocoding della registrazione |
Pro |
---|
Registra in background |
No limiti |
Semplice |
No ads |
Contro |
Nessun controllo gain, qualità e formato file |
File manager no multiselect |
No info file, no custom sort |
Contro |
---|
Nessun feedback quando registra in background |
Adware |
Poco controllo su qualità e gain |
Qualche bug di interfaccia |
Sound Recorder by Needom Studio
Contro |
---|
Non registra in background |
Osmand Map Creator: a nightmare!
Osmand is a very nice application for using OpenStreetMap maps on Android. It can load the vector map for off-line visualization, routing and address search. The look of vector map is very nice.
Routing using off-line maps was greatly improved in Osmand 0.8.1 beta! Now calculating a route is matter of seconds and recalculating can be done with the auto-follow function active.
One drawback of Osmand is that downloadable maps are not so up-to-date. So I decided to compile myself an updated map for Italy. Now I understand why they are not updated daily or weekly: it is a (Java) nightmare!
I used my notebook running Debian Wheezy, with Java provided by the openjdk-6-jre package. This is the recipe that I distilled, after 3 days of frustrating fails.
- Download
OsmandMapCreatorOsmandMapCreator, I used the version compatible with Osmand downloaded from the Google Play Store. Unzip it into your home directory. - Download italy.osm.pbf from Geofabrik. It is a file of about 460 Mb.
- My notebook has 2 Gb of RAM, and 2 Gb of swap partition. I added 6 Gb of swap file. This is the most challenging problem: generally you can hit an out of memory error after 95% of the work was completed.
- Edit the script
OsmAndMapCreator.sh
, to allow more heap space and to use a temporary directory on the home directory. Java uses/tmp
directory for temporary files, but on my system it is only 500 Mb of tmpfs, not enough#!/bin/sh java -Djava.util.logging.config.file=logging.properties \ -Djava.io.tmpdir=./tmp \ -Xms512M -Xmx2048M \ -cp "./OsmAndMapCreator.jar:./lib/*.jar" \ net.osmand.swing.OsmExtractionUI
- Run the script, menu File → Create .obf from osm file….
- Wait, wait and wait. On my notebook Intel Atom N570 4 core @ 1.66 GHz it required 26 hours to execute!
The nightmare is that the process can fail because of RAM or temporary space even after 95% of the time elapsed, and all the work is lost!
The resulting map was saved into $HOME/osmand/Italy.obf
, it is about 462 Mb.
Here there is an howto make the above process non-interactive: OsmandMapUpdates.
I menu di K-9 Mail
Ottimo programma, completissimo di funzioni (manca forse solo la visualizzazione per thread), ma ha un sistema di menu da manicomio e manca la documentazione. Qui una ricostruzione parziale dell'albero.
Conviene definire come Cartelle di 1a Classe quelle che si vuole vedere e sincronizzare sul telefonino e lasciare su Classe Nessuna tutte le altre. Per impostare una cartella basta fare un tap lungo sul suo nome e scegliere Impostazioni cartella. Vedere eventualmente l'articolo How to use K-9's folder class system.
In grassetto sono riportate le voci per impostare l'account di posta in arrivo e di posta in uscita, le opzioni per decidere quali cartelle IMAP visualizzare e per associare le funzioni speciali (Draft, Sent, Trash, alle cartelle IMAP esistenti).
Menu → Altro → Impostazioni
- Impostazioni cartella
- Mostra nel gruppo superiore
- Classe di visualizzazione della cartella
- Classe di sincronizzazione della cartella
- Classe delle cartelle Push
- Posta In Arrivo Unificata
- Impostazioni Account
- Impostazioni Generali
- Nome account
- Account predefinito
- Preferenze di visualizzazione
- Colore dell'account
- Mostra sempre le immagini
- Scorri pulsanti di navigazione
- Abilita pulsanti di archiviazione
- Scorri pulsanti di archiviazione
- Sincronizzazione messaggi
- Dimensione cartelle locali
- Sincronizza messaggi da
- Scarica messaggi di dimensione fino a
- Frequenza verifica cartelle
- Sincronizza cartelle
- Cartelle Push
- Sincronizza cancellazione sul server
- Quando si elimina un messaggio
- Elimina messaggi cancellati
- Scarica intestazioni
- Configurazione posta in arrivo
- Nome utente
- Password
- Server IMAP
- Tipo di protezione
- Tipo di autenticazione
- Porta
- Prefisso percorso IMAP (mettere INBOX eventualmente)
- Impostazioni avanzate
- Controlla quando connesso per il push
- Max cartelle Push
- Aggiorna connessione inattiva
- Composizione messaggio
- Cartelle
- Memorizzazione
- Notifiche
- Crittografia
- Impostazioni Generali
- Preferenze di visualizzazione
- Interazione
- Notifiche
- Rete
- Altre impostazioni
- Privacy
- Debug
Menu → Altro → Account
- Context menu account (tap lungo)
- Apri
- Controlla posta
- Svuota cestine
- Impostazioni account
- Impostazioni generali
- Preferenze di visualizzazione
- Sincronizzazione messaggi
- Composizione messaggio
- Opzioni predefinite
- Gestione identità
- Formato messaggio
- Notifica di lettura
- Aspetto test quotato nelle risposte
- Quote original message when replying
- Risposta dopo testo quotato
- Prefisso testo quotato
- Configurazione posta in uscita
- Cartelle
- Auto espandi cartella
- Visualizza cartelle (Tutte, Soltanto cartelle di 1a Classe, …)
- Copia/Sposta cartelle di destinazione
- Ricerca nelle cartelle
- Drafts, Sent, Spam, Trash, …
- Bozze, Posta inviata, Spam, Cestino, …
- Memorizzazione
- Notifiche
- Crittografia
- Avanzate
WebDAV File Manager
WebDAV File Manager is a nice WebDAV client. It can do http and https using login and password. It can even use non-standard TCP ports.
The only drawback is that it requires to save the passwords into its configuration files. For some sensible hosts I would prefer to leave them blank and type them each time I connect.
Having root access to the Android device it is simple to recover the WebDAV password. Each WebDAV entry is stored into /data/data/jp.ddo.shigadroid.webdavfilemanager/shared_prefs/
directory, in files named 0.xml
, 1.xml
, …
Each file contains the password mildly scrambled:
<string name="password">P|Vhfuhw</string>
just offset the characters code by 3 and you get the plain text secret:
#!/usr/bin/python encoded_passwd = 'P|Vhfuhw' secret = '' for c in encoded_passwd: secret += chr(ord(c) - 3) print secret
Keyboard
- Hacker's Keyboard - Ottima per la modalità landscape e l'emulazione terminale: cursori, ctrl, Esc, ecc. Se necessario installare anche il relativo dizionario italiano.
- Perfect Keyboard Free - Ottima per la tastiera T9, altamente configurabile, versione ridotta o completa, tasti cursore, ecc. Esiste anche il relativo pacchetto per la lingua italiana.
SMS
Some interesting alternatives for the SMS sending programs:
- My preferred is the open source QKSMS (11 Mb).
- You can choose also the very light Messaging-AOSP (only 7 Mb) derived from the Android Open Source Project.
- Otherwise you can opt for the Messaging monster app from Google (32 Mb).
Rimozione programmi di sistema
Con il passare del tempo Google obbliga l'installazione di nuovi programmi non richiesti. Oltre ad occupare memoria flash (il cosiddetto archivio interno) spesso attivano anche servizi che occupano memoria RAM e rallentano tutto l'apparecchio. I programmi spesso sono classificati come applicativi di sistema e non possono essere disinstallati.
Per fortuna con il telefono sbloccato (ottenuti cioè i permessi di root) è possibile rimuovere anche queste componenti. Ovviamente si deve stare attenti a cosa si disinstalla, è possibile bloccare definitivamente alcune funzionalità essenziali del telefono. Per disinstallare questi applicativi ho usato App Master(Uninstall Master)
(software non libero).
Il risultato è stato molto soddisfacente: un telefonino (Nexus S del 2011, con Android 4.1.2) che sembrava arrivato alla fine dei suoi giorni perché rallentato e non responsivo, è tornato praticamente come nuovo. E non ho rinunciato ad alcuna funzionalità!
Segue l'elenco dei programmi che ho tolto.
- Archiviazione contenuti protetti con DRM
- Email (EmailGoogle.apk)
- Google Play Magazines
Google Play Servicesripristinato perché richiesto da Maps e Calendar- Google Talk
- Google Play Books
- Google Play Edicola
- Google Play Movies
- Google Play Music
- Google+
- Hangouts
- Movie Studio
- MusicFX
- TalkBack
Maps e Calendar ogni tanto si lamentano se si toglie Google Play Services (compare un avviso nella barra dei messaggi), ma il funzionamento di entrambi non sembra compromesso.
Ovviamente sul mio telefonino non uso contenuti protetti da DRM, non ci guardo i film, né acquisto libri e riviste tramite i servizi Google.
Midnight Commander
Esiste una app Midnight Commander Installer a pagamento che semplicemente scompatta un archivio .tar.gz nella directory /system/
del terminale, richiede i permessi di root e la busybox installata. Su internet si trova facilmente (anche solo l'archivio estratto dall'apk) mc-4.7.5.4-arm.tar.gz, con md5 1cc2ed9de7862ee264a20dcde9d32721.
Android ports
Esiste un bellissimo progetto, gli Android ports che purtroppo non è più supportato, funziona solo per Android fino alla versione 4.4, dalla versione 5.0 non funziona.
Si tratta del porting su Android di diversi tool Unix da riga di comando, viene utilizzato il sistema di gestione pacchetti opkg, che consente di attingere gli stessi da un repository. In pratica il programma opkg deve essere scaricato e installato manualmente:
cd /sdcard/Download wget http://dan.drown.org/android/opkg.tar.gz cd /data/local tar zxvf /sdcard/Download/opkg.tar.gz
dopo è possibile utilizzare opkg per reinstallare sé stesso e gli altri tool.
I permessi sulla gerarchia /data/local/ sono insufficienti per lavorare decentemente (controllare anche la $HOME
dell'utente, per poter creare i file di configurazione, ecc.). Questi sono i valori predefiniti riscontrati su un Samsung Galaxy S4 I-9515 (purtroppo eventuali cambiamenti vengono persi al successivo reboot):
chmod 0771 /data chmod 0751 /data/local chmod 0771 /data/local/tmp
Rsync per Android
Dopo aver installato l'app rsync backup for Android, si sceglie la voce di menu Get binaries che provvede a scaricare dropbearkey
, rsync
e ssh
. Gli eseguibili vengono salvati nella cartella /data/data/eu.kowalczuk.rsync4android/files/
.
Quindi si deve generare la chiave con la voce di menu Generate keys. Le due chiavi dss_key.pub
e dss_key
(pubblica e privata) vengono generate in /sdcard/
. È opportuno spostarle in altra directory, ad esempio /sdcard/.ssh/
. Purtroppo l'utente/shell con cui gira rsync
non riesce ad accedere alla directory /data/local/root/.ssh/
, che sarebbe la più indicata se si volesse replicare la struttura /data/local/
equivalente ad una /usr/local/
di GNU/Linux.
Per una sincronizzazione Unix → Android (cioè con l'opzione rsync in reverse direction attiva) è opportuno modificare i parametri addizionali di rsync, perché altrimenti si hanno problemi con il timestamp del filesystem vfat che non ha corrispondenza biunivoca con il filesystem originale Unix. In pratica conviene passare i seguenti parametri:
-vHrlDOu
cioè togliendo -t
(preserve modification times) e mettendo invece -Ou
(omit directories from –times, skip files that are newer on the receiver).
Apex Launcher
Apex Launcher, dimensione file apk: 4.5 Mb (versione 3.3.3, luglio 2017).
Buona la funzione di blocco desktop, contro lo spostamento accidentale delle icone. Si possono creare collegamenti sulla schermata home a pagine di Chrome, ecc. Buone funzioni di personalizzazione. Manca il numero delle notifiche sull'icona di Whatsapp e simili. Sembra che non ci siano pubblicità, alcune funzioni avanzate si sbloccano a pagamento.
Nova Launcher
Nova Launcher (provata versione aprile 2017).
Ha smesso di funzionare l'aggiungi icona a schermata home, non si riesce ad aggiungere un collegamento a pagina di Chrome, nè collegamenti creati da ES File Explorer. L'icona finisce nel launcher originale Wiko, ma non in Nova, nonostante sia il launcher predefinito. Peccato, altrimenti meritava 4 o 5 stelle. Buona la funzione blocco desktop, contro spostamenti accidentali icone.
OsmAnd
Programma di navigazione che utilizza le mappe di OpenStreetMap. Si tratta di software libero e open source, quindi è disponibile sia sul Play Store di Google, che su repository come F-Droid. Relativamente alla sua natura libera e open source, si evidenzia come il programma contenga alcune Anti-Features (caratteristiche negative rispetto alla libertà), vedere in proposito la pagina su F-Droid.
La versione del Play Store è limitata nel numero delle mappe che è possibile scaricare (sette), in realtà se le mappe vengono caricate direttamente nel filesystem tale contatore non viene decrementato.
Directory base per dati e impostazioni
Le directory utilizzate dal programma dipendono da diverse condizioni: versione del sistema oprativo, presenza o meno di uno storage esterno (SD-Card) impostazioni del programma (Impostazioni ⇒ Impostazioni generali ⇒ Cartella salvataggio dei dati). In pratica si devono individuare le due directory base per i file utente e le impostazioni.
- /storage/sdcard1/Android/data/net.osmand/
- /storage/sdcard0/Android/data/net.osmand/
- files/
- files/backup/
- files/tracks/
- files/tracks/rec/
La directory files/ è la directory base per il salvataggio dei dati. contiene gli waypoint (file favourites.gpx) e i file mappa, ad esempio World_basemap_2.obf, Italy_toscana_europe_2.obf, Greece_europe_2.obf, ecc.
Dalla pagina di gestione mappe dell'app è possibile abilitare o disabilitare le mappe scaricate. Quando una mappa viene disabilitata in realtà viene spostata nella sottodirectory files/backup/.
Nella directory files/tracks/ è possibile caricare file GPX con waypoints e tracks, che sarà possibile mostrare o nascondere nella visualizzazione mappa (Configura la mappa ⇒ Percorso GPX…). Le tracce GPX così caricate potranno essere usate anche come percorso da seguire durante la navigazione. È possibile creare sottodirectory per organizzare al meglio i file.
La directory files/tracks/rec/ contiene le registrazioni GPX dei percorsi, quando viene attivata l'apposita funzione. Ogni file avrà nome del tipo 2018-05-16_13-46_Wed.gpx.
- /data/data/net.osmand/shared_prefs/
- net.osmand.settings.bicycle.xml
- net.osmand.settings.car.xml
- net.osmand.settings.default.xml
- net.osmand.settings.pedestrian.xml
- net.osmand.settings.xml
- net.osmand_preferences.xml
Questi file contengono le impostazioni del programma, si tratta delle impostazioni generali e quelle specifiche per ogni modalità di funzionamento (navigazione a piedi, in bicicletta, in auto, ecc.). Sembra che sia possibile copiare i file e riportarli da una versione ad un altra del programma.
Terminale Termux
Vedere la pagina dedicata Termux.
Open Source File Managers
Amaze
From F-Droid repository.
Ghost Commander
From F-Droid repository.
- Free and Open Source.
- Support root explorer.
- Support WebDAV and other sources (SMB, SFTP, etc.) using plugins. Unfortunately some plugins are available only from Google Play, so being incompatible with the main app from F-Droid.
OI File Manager
From F-Droid.
- Free and Open Source.
- Formerly adopted by Cyanogenmod.
- Does not support root explorer.
Dir
From F-Droid.
- Free and Open Source.
- Does not support root explorer.
BusyBox
Installing BusyBox is one of the first thing that we do after rooting an Android device, sometimes BusyBox is included into the root kit itself.
In the past I relied on the free Stericson BusyBox Free installer, which indeed is just an Android app, not the BusyBox binary. The app downloads and installs the (updated) BusyBox binary and creates the required symlinks. Quite obviously, it requires root privileges to do that.
I recently experienced problems with Stericson BusyBox Free version 62, installed on a Xiaomi Mi A1, running Android One 8.1.0 Oreo. When I launch the installer (and BusyBox is not installed yet), it says in the main screen:
BusyBox is installed to /system/bin/sh: <stdin>[65]:: not found
Then it proposes to install busybox into /sbin, but after you tap the “Install” button, a pop-up will warn that: “The original contents of /sbin are always restored upon boot and as a result busybox will be removed from /sbin upon next boot”.
May be the best choice is to install BusyBox into /system/xbin; that directory is almost empty on my device and it is into the $PATH system variable.