2013-07-09 10 views
20

Posso disinstallare un'app sul dispositivo dal mio computer utilizzando adb uninstall <package_name>, ma mi piacerebbe fare lo stesso con uno script sul dispositivo reale.Come disinstallare un'app Android dalla riga di comando sul dispositivo

Ho anche provato a eseguire un intento android.intent.action.DELETE utilizzando am ma richiede all'utente la conferma.

Dato che il dispositivo è rootato, è possibile eseguire un comando sul dispositivo per disinstallare un'app senza richiedere l'intervento/la conferma dell'utente?

risposta

31

Cercando usando l'pm command:

pm uninstall <package_name> 

o

pm uninstall -k <package_name> 

Il flag -k mantiene i dati e le directory della cache dopo che il pacchetto è stato rimosso.

Non l'ho ancora provato, ma non penso che questo dovrebbe mostrare un messaggio di avviso.

+1

Anche l'utilizzo di 'rm ' potrebbe funzionare. –

+1

Grazie! (+ 1) Ha funzionato. A seconda della situazione 'su -c pm uninstall [-k] ' fa il trucco se la semplice chiamata pm fallisce. –

+1

@RaghavSood Non dovresti fare 'rm ' cosa come lascerebbe un sacco di spazzatura al sistema e quella schifezza utilizzerà ancora lo spazio di archiviazione (ad esempio, l'apk memorizzato nella cache), ed è difficile da trovare senza la conoscenza del sistema (cose sparse intorno al filesystem). Se sai cosa stai facendo, allora perché no, ma semplicemente 'rm apkfile' non servirà a niente. –

6

adb shell pm uninstall *your.package.name*

ha fatto il trucco per me.

+0

Nel mio caso ottengo un 'java.lang.IllegalArgumentException' quando si usa' * 'per delineare il nome del pacchetto. Ha funzionato con virgolette doppie –

0

avevo riesco a disinstallare alcuni lanciatori di sistema (ad esempio NovaLauncher) In questo caso vi consiglio di usare "disable" anziché "uninstall":

pm disable <package_name> 

In seguito si nasconde questo lanciatore sistema (app sys) dalla lista dei lanciatori quando si dispone di un paio di lanciatori

1

alcune applicazioni non può essere disinstallato, così sotto il comando dà l'errore:

adb shell pm uninstall package_name 
Failure [DELETE_FAILED_INTERNAL_ERROR]

Prova a correre comman disabilitazione d invece,

adb shell pm disable package_name 
Package package_name new state: disabled