2013-07-09 4 views
20

Ich kann eine App auf dem Gerät von meinem Computer mit adb uninstall <package_name>, , aber ich möchte das gleiche mit einem Skript auf dem tatsächlichen Gerät zu deinstallieren.So deinstallieren Sie eine Android-App von der Befehlszeile auf dem Gerät

Ich habe auch versucht, eine android.intent.action.DELETE Absicht mit am laufen, aber es fordert den Benutzer zur Bestätigung.

Da das Gerät gerootet ist, ist es möglich, einen Befehl auf dem Gerät auszuführen, um eine App zu deinstallieren, ohne dass eine Benutzeraktion/Bestätigung erforderlich ist?

Antwort

31

Der Versuch unter Verwendung des pm command:

pm uninstall <package_name> 

oder

pm uninstall -k <package_name> 

Die -k Flag hält die Daten und Cache-Verzeichnisse, nachdem die Verpackung entfernt wird.

Ich habe das nicht selbst getestet, aber ich denke nicht, dass dies eine Warnmeldung anzeigen sollte.

+1

Sogar mit 'rm könnte funktionieren. –

+1

Danke! (+ 1) Das hat funktioniert. Abhängig von der Situation 'su -c pm uninstall [-k] 'macht den Trick, wenn der Aufruf einfach pm fehlschlägt. –

+1

@RaghavSood Sie sollten 'rm ' Sache nicht tun, da es eine Menge Müll zum System verlassen würde und dieser Mist noch Speicherraum (zum Beispiel zwischengespeicherte apk) benutzen würde, und schwer zu finden ist ohne Wissen des Systems (Sachen zerstreut um Dateisystem). Wenn Sie wissen, was Sie tun, warum nicht, aber einfach 'rm apkfile' wird nichts nützen. –

6

adb shell pm uninstall *your.package.name*

hat den Trick für mich.

+0

In meinem Fall bekomme ich eine 'java.lang.IllegalArgumentException', wenn Sie' * 'verwenden, um den Paketnamen zu definieren. Arbeitete mit doppelten Anführungszeichen –

0

hatte ich bei der Deinstallation nicht einige Systemwerfer (zB NovaLauncher) In diesem Fall empfehle ich "disable" statt "uninstall" zu verwenden:

pm disable <package_name> 

In Folge verstecken Sie dieses System Launcher (sys App) aus der Liste der Trägerraketen, wenn Sie ein paar Werfer haben

1

Einige Apps kann nicht deinstalliert werden, so unter Befehl den Fehler gibt:

adb shell pm uninstall package_name 
Failure [DELETE_FAILED_INTERNAL_ERROR]

Versuchen disable comman laufen d stattdessen,

adb shell pm disable package_name 
Package package_name new state: disabled

Verwandte Themen