Deinstallation der System-App mit 'adb shell pm uninstall' fehlgeschlagen


20

Ich habe versucht, die Deinstallation in ADB zu erzwingen, bin jedoch gescheitert:

$ adb shell pm uninstall -k org.openintents.filemanager
$ adb shell pm list packages -f | grep -i manager
package:/system/app/FileManager.apk=org.openintents.filemanager

Was ist hier schief gelaufen? Was kann ich tun?

Ich habe den internen Anwendungsmanager verwendet und es gibt keine Option zum Löschen.


1
Wenn Sie eine Anwendung manuell aus / system löschen, denken Sie daran, den entsprechenden Datenordner in / data / data / «identifier» zu löschen. In /data/system/packages.xml befindet sich auch eine Spur der vorherigen apk-Signatur, die eine Neuinstallation einer neu erstellten Anwendung verhindern kann Paket mit einem anderen Schlüssel.
anddam

Was meintest du mit ~ " system app "?
IgorGanapolsky

Antworten:


18

Nun, da sich das FileManager.apkPaket in einem /system/app/Verzeichnis befindet, handelt es sich um eine System-App. So ist der allgemeine Weg, um es zu entfernen:

adb shell
su
mount -o rw,remount /system
rm -rf /system/app/FileManager.apk
rm -rf /data/data/org.openintents.filemanager
mount -o ro,remount /system
exit
exit

1
Wenn ich laufe mount -o ro,remount /system, erhalte ich eine Fehlermeldung: Gerät oder Ressource ausgelastet
IgorGanapolsky

1
@IgorG. Ich konnte das beheben, indem ich eine Eingabeaufforderung auf dem tatsächlichen Gerät beantwortete.
Alex B

@AlexB Tatsächlich erfolgt keine Eingabeaufforderung. Ich denke, dies ist ein spezielles Telefon mit Raubkopien.
IgorGanapolsky

10

Edit : Als ich den Kommentar zu CommonsWare Antwort sah, merkte ich nicht, dass es das gleiche war wie der Fragesteller ... auf jeden Fall kann eine kleine Erklärung für jemanden nützlich sein.

Wie Sie bereits bemerkt haben, besteht der einfachste Weg, eine System-App zu deinstallieren, darin, die .apkDatei zu löschen . Die Befehle adb install/ adb uninstallsind nützlich für normale Apps, nicht für System-Apps . Da sich dieses apk in befindet /system/app, adb uninstallwird es nicht entfernt.

Sie können den vorgeschlagenen Befehl ( rm /system/app/YourApp.apk) verwenden, aber bevor der /systemOrdner Schreibzugriff haben muss. Sie müssen sehen, wie Sie remount /systemin Ihrem Gerät nach " android remount +rw /system" und Ihrem Gerät suchen .

Alternativ können Sie jede App verwenden, die sowohl das Löschen als auch das erneute Bereitstellen von Inhalten ermöglicht und über Root-Zugriff verfügt, z. B. Root Explorer und Astro


danke aleadam ... plot wird dicker, weil der rm, den ich entfernt habe, die apk aber vielleicht nicht den cache. ich bin nicht in der lage, vom markt zu installieren. das schlägt fehl Stellen Sie das gesamte ROM auf ein Backup-Image zurück ... installieren Sie es in der cmd-Zeile mit adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE]. Der Market kann zum Herunterladen nicht verwendet werden rom und haben ein Backup, das 2 Wochen alt ist und ich kann nur darauf zurückgreifen.

Link, was ich hätte tun sollen, ist in der 2. Post zu diesem Thema

1

Das ' Failure' Problem hat mehr damit zu tun, dass die adb-Shell eine DOS-Zeile mit der Endung ^ M anfügt (unter CentOS Linux sowieso). Fügen Sie die Liste der zu deinstallierenden Anwendungen in eine Datei ein und kopieren Sie sie direkt auf das Android-Gerät.

root@android:/root # dos2unix list-of-apps-to-uninstall.txt     
root@android:/root # for f in `cat list-of-apps-to-uninstall.txt` ; do echo $f; pm uninstall $f; done;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.