Deinstallation der System-App mit „adb shell pm uninstall“ fehlgeschlagen

Ich habe versucht, die Deinstallation in ADB zu erzwingen, aber es ist fehlgeschlagen:

$ 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.

Denken Sie beim manuellen Löschen von Anwendungen aus /system daran, den entsprechenden Datenordner in /data/data/«identifier» zu löschen. Es gibt auch eine Spur der vorherigen APK-Signatur in /data/system/packages.xml, die eine Neuinstallation oder Neuinstallation verhindern kann Paket mit einem anderen Schlüssel.
Was meinst du mit ~" System-App "?

Antworten (3)

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

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
Wenn ich ausführe mount -o ro,remount /system, erhalte ich eine Fehlermeldung: Gerät oder Ressource ausgelastet
@IgorG. Ich konnte das lösen, indem ich eine Eingabeaufforderung auf dem eigentlichen Gerät beantwortete.
@AlexB Tatsächlich tritt keine Eingabeaufforderung auf. Dies ist ein benutzerdefiniertes gefälschtes Telefon, denke ich.
Hat bei mir funktioniert. Stellen Sie sicher, dass das Gerät Root-Zugriff hat.

Bearbeiten : Als ich den Kommentar zur CommonsWare-Antwort sah, war mir nicht klar, dass es derselbe wie der Fragesteller war ... wie auch immer, eine kleine Erklärung könnte für jemanden nützlich sein.

Wie Sie selbst kommentiert haben, ist der einfachste Weg, eine System-App zu deinstallieren, einfach die .apkDatei zu löschen. Die adb install/ adb uninstallBefehle sind nützlich für normale Apps, nicht für System-Apps . Da sich diese apk in befindet /system/app, adb uninstallwird sie nicht entfernt.

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

Alternativ können Sie jede App verwenden, die sowohl löschen als auch neu mounten kann und über Root-Zugriff verfügt, wie z. B. Root Explorer und Astro

danke aleadam ... Plot verdickt sich, weil der rm, den ich entfernt habe, die apk entfernt hat, aber vielleicht nicht den Cache. Ich kann nicht vom Markt installieren ... das schlägt fehl ... sieht aus, als müsste ich entweder den Dalvik-Cache löschen oder nur Setzen Sie das gesamte ROM auf ein Backup-Image zurück ... installieren Sie es in der cmd-Zeile mit adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE] ... kann den Markt nicht zum Herunterladen der Installation verwenden ... erhalten Sie "Installationsfehler inkompatibles Update" ... ich bin auf einem Benutzer rom und habe ein Backup, das 2 Wochen alt ist und ich kann einfach darauf zurückgreifen.
Link, was ich hätte tun sollen, ist im 2. Beitrag in diesem Thread

Das ' Failure'-Problem hat mehr damit zu tun, dass die Adb-Shell eine DOS-Zeile mit der Endung ^M anhängt (jedenfalls unter CentOS Linux). Legen Sie die Liste der zu deinstallierenden Anwendungen in einer Datei ab 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;