====== Programmi Android ====== * **[[librera_reader]]** ===== Open GPS Tracker ===== Il programma **[[http://code.google.com/p/open-gpstracker/|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 **[[http://code.google.com/p/open-gpstracker/issues/detail?id=210|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 ===== **[[https://code.google.com/p/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 [[http://jgrasstechtips.blogspot.it/2012/02/geopaparazzi-260-is-out-osm-mixare-and.html|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 ===== **[[https://play.google.com/store/apps/details?id=com.coffeebeanventures.easyvoicerecorder|Easy Voice Recorder]]** ^ 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 | **[[https://play.google.com/store/apps/details?id=pgs.apps.simpleaudiorecorder|Simple audio recorder]]** ^ 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 | **[[https://play.google.com/store/apps/details?id=de.ibedelmann.as|audioSnippets]]** ^ Contro ^ | Nessun feedback quando registra in background | | Adware | | Poco controllo su qualità e gain | | Qualche bug di interfaccia | **[[https://play.google.com/store/apps/details?id=com.needom.recorder|Sound Recorder by Needom Studio]]** ^ Contro ^ | Non registra in background | ===== Osmand Map Creator: a nightmare! ===== **[[http://osmand.net/|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 [[http://download.osmand.net/latest-night-build/OsmAndMapCreator-marketcompatible.zip|OsmandMapCreator]] [[http://download.osmand.net/latest-night-build/OsmAndMapCreator-development.zip|OsmandMapCreator]], I used the version compatible with Osmand downloaded from the Google Play Store. Unzip it into your home directory. - Download [[http://download.geofabrik.de/openstreetmap/europe/italy.osm.pbf|italy.osm.pbf]] from [[http://www.geofabrik.de/|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: [[http://code.google.com/p/osmand/wiki/OsmandMapUpdates|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 [[https://github.com/k9mail/k-9/wiki/WorkingWithClasses|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 ===== **[[https://play.google.com/store/apps/details?id=jp.ddo.shigadroid.webdavfilemanager|WebDAV File Manager]]** is a nice [[wp>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: P|Vhfuhw 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 ===== * [[https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard|Hacker's Keyboard]] - Ottima per la modalità landscape e l'emulazione terminale: cursori, ctrl, Esc, ecc. Se necessario installare anche il relativo dizionario italiano. * [[https://play.google.com/store/apps/details?id=free.inputmethod.latin.perfectkeyboard|Perfect Keyboard Free]] - Ottima per la tastiera [[wp>T9_%28predictive_text%29|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 **[[https://f-droid.org/en/packages/com.moez.QKSMS/|QKSMS]]** (11 Mb). * You can choose also the very light **[[https://play.google.com/store/apps/details?id=aos.andro.messaging|Messaging-AOSP]]** (only 7 Mb) derived from the Android Open Source Project. * Otherwise you can opt for the **[[https://play.google.com/store/apps/details?id=com.google.android.apps.messaging|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 ''[[https://play.google.com/store/apps/details?id=com.droidware.uninstallmaster|App Master(Uninstall Master)]]'' (software **non libero**). Il risultato è stato molto soddisfacente: un telefonino ([[wpit>Nexus_S|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 Services ripristinato 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 [[https://play.google.com/store/apps/details?id=com.nativnux.installers.mc|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 [[http://forum.xda-developers.com/showthread.php?t=1243699|internet]] si trova facilmente (anche solo l'archivio estratto dall'apk) **{{..:android:mc-4.7.5.4-arm.tar.gz|}}**, con md5 **1cc2ed9de7862ee264a20dcde9d32721**. ====== Android ports ====== Esiste un bellissimo progetto, gli **[[http://dan.drown.org/android/|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 [[https://play.google.com/store/apps/details?id=eu.kowalczuk.rsync4android|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 ====== [[https://play.google.com/store/apps/details?id=com.anddoes.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 ====== [[https://play.google.com/store/apps/details?id=com.teslacoilsw.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 **[[http://www.openstreetmap.org|OpenStreetMap]]**. Si tratta di software libero e open source, quindi è disponibile sia sul **[[https://play.google.com/store/apps/details?id=net.osmand|Play Store]]** di Google, che su repository come **[[https://f-droid.org/en/packages/net.osmand.plus/|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 **[[https://f-droid.org/packages/com.amaze.filemanager/|F-Droid repository]]**. * Free and Open Source. * Support root explorer (but has bug [[https://github.com/TeamAmaze/AmazeFileManager/issues/1497|#1497]]). * Support shortcut (not in some cases, see bug [[https://github.com/TeamAmaze/AmazeFileManager/issues/1498|#1498]]). ===== Ghost Commander ===== From **[[https://f-droid.org/en/packages/com.ghostsq.commander/|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 [[https://f-droid.org/en/packages/org.openintents.filemanager/|F-Droid]]. * Free and Open Source. * Formerly adopted by Cyanogenmod. * Does not support root explorer. ===== Dir ===== From [[https://f-droid.org/en/packages/com.veniosg.dir/|F-Droid]]. * Free and Open Source. * Does not support root explorer. ====== BusyBox ====== Installing **[[https://busybox.net/about.html|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 [[https://play.google.com/store/apps/details?id=stericson.busybox|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: [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.