La gestione delle applicazioni Android non è sempre cosa facile. La limitata memoria dei dispositivi di fascia bassa spesso può portare all’esaurimento dello spazio di archiviazione interno, quindi all’impossibilità di installare aggiornamenti o nuove applicazioni. Ecco quindi che diventa importante sfruttare anche la partizione di sistema, che ha dello spazio normalmente non utilizzabile.
Prima di procedere è doveroso segnalare che tale operazione richiede i permessi di root ed è potenzialmente pericolosa. Qualora non si operasse in maniera corretta esiste il rischio di rendere inutilizzabile lo smartphone.
Per gestire (o convertire) le applicazioni di sistema e quelle utente, esistono principalmente due vie: tramite applicazione dedicata e tramite riga di comando. La prima via è certamente la più comoda, ma spesso le applicazioni di questo genere sono a pagamento (un esempio è Titanium Backup PRO 4,99€ – nella versione free la feature è disabilitata). Utilizzando la riga di comando, invece, potremo eseguire le stesse operazioni avendo pieno controllo di quello che facciamo e risparmiando sul costo dell’applicazione.
L’operazione manuale è estremamente semplice, poiché richiede semplicemente i permessi di scrittura nella partizione /system
(come spiegato in questo articolo). Ora non resta che spostare (o eventualmente cancellare) le applicazioni di nostro interesse tra le cartelle /system/app
(dove sono presenti tutte le applicazioni di sistema) e /data/app
(dove sono contenuti tutti gli apk dei programmi installati tramite il Play Store).
Il comando da lanciare con ADB o simili è:
cp [source] [destination]
rm [source]
Dove vanno opportunamente cambiati [source]
e [destination]
rispettivamente con il nome e percorso del pacchetto sorgente e percorso/nome per il file di destinazione. Si rende necessario fare una copia ed una successiva cancellazione perché con il comando mv
si copierebbe solo l’hardlink, non i dati. Quando dovete spostare un file tra filesystem diversi, questo è il modo corretto di operare (in alternativa si spera che riceviate un errore del tipo: “Cross-device link”).
La particolarità della directory /system/app
è proprio quella di essere protetta dalla scrittura: le applicazioni presenti qui non potranno essere disinstallate nella maniera tradizionale e restano presenti anche dopo un ripristino delle condizioni iniziali. Eventuali aggiornamenti delle applicazioni non verranno inclusi in questo percorso, ma in /data/app
, occupando quindi il doppio dello spazio. Se tentate di disinstallare una applicazione di sistema che è stata aggiornata, potete notare che l’unica operazione consentita è quella di rimuovere gli aggiornamenti, tornando alla versione inclusa nella cartella di sistema. Il consiglio è quello di mantenere una sola copia dell’applicazione, tenendo solo l’apk più aggiornato.
Bisogna fare attenzione alle differenze di nomi assegnate agli apk all’interno delle due directory: /system/app
contiene nomi generalmente più compatti ma comprensibili, mentre /data/app
ha il nome dei pacchetti per esteso. Per fare un esempio, potrebbe essere presente un pacchetto di nome com.facebook.katana-1 in /data/app
ed uno di nome Facebook in /system/app
. Fondamentalmente i due apk rappresentano la stessa applicazione, con l’eccezione che quello in /system/app
è la versione iniziale dell’applicazione, quella già preinstallata al momento dell’acquisto del terminale, mentre l’apk in /data/app
è la versione più aggiornata scaricata dal Play Store.
Insomma, prendendo dimestichezza con alcuni i nomi delle applicazioni, diventerà estremamente facile gestire in completa autonomia le proprie applicazioni di sistema, arrivando ad un utilizzo ottimale della memoria.
Alcuni esempi di nomi di pacchetti e relativi nomi “normalizzati” che potreste trovare:
com.google.android.apps.maps -> Maps
com.google.android.voicesearch -> VoiceSearch
com.google.android.street -> StreetView
com.google.android.googlequicksearchbox -> GoogleQuickSearchBox
com.android.vending -> Vending
com.google.android.gm -> GMail
com.google.android.marvin.talkback -> Talkback
com.facebook.katana -> Facebook
it.sineo.android.noFrillsCPU -> NoFrillsCPU
com.noshufou.android.su -> Superuser
eu.chainfire.supersu -> SuperSU
com.buak.Link2SD -> Link2SD
com.google.android.youtube -> Youtube
de.schaeuffelhut.android.openvpn -> OpenVPN-Settings
com.fede.launcher -> LauncherPro
com.twitter.android -> Twitter
xcxin.filexpert -> FileExpert
com.rechild.advancedtaskkiller -> Atk
Bel articolo però non ho ben capito come eseguire il tutto da riga di comando? In parole povere per togliere tutte le app doppie come devo procedere. Scrivermi giù su carta i nomi dei files e poi? Grazie mille
Per operare tramite riga di comando devi utilizzare ADB, un tool incluso nel SDK Android che puoi installare sul tuo pc. Probabilmente è poco pratico per chi non ha voglia di sbattere un po’ la testa e non ha conoscenze del mondo Linux.
In alternativa puoi usare Terminal Emulator ( https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=it ) direttamente sul tuo telefono/tablet.
bella amico :D
chiaro sono riuscito ad entrare nella cartella /system/app ora mi chiedo ci sono un sacco di programmi engles.apk potugese.apk che sono le varie lingue le posso eliminare o potrei avere di problemi?! aspetto risposte
Potrebbero essere i pacchetti delle lingue di alcune tastiere preinstallate. Non dovrebbero esserci controindicazioni nell’eliminarli, se non li usi.