So deinstallieren Sie eine System-App mit dem Befehl adb uninstall (NICHT über rm oder auf andere Weise entfernen)

Muss dies erwähnen, um mögliche Verwirrung zu vermeiden, diese Frage ist nicht doppelt. Diese Frage bezieht sich speziell auf die Verwendung von adb zum Deinstallieren eines Pakets . Es gibt mehrere ähnliche Fragen, die sich jedoch alle von dieser unterscheiden, da sie darauf abzielen, eine Anwendung mit allen Mitteln zu entfernen.

Bitte geben Sie keine Antworten mit dem Befehl „rm“ ein, um die Paketdateien zu löschen. Auch Antworten im Zusammenhang mit falsch formatierten Paketnamen oder nachgestellten Wagenrückläufen. Ich denke, sie sind so ziemlich alle in allen anderen Fragen abgedeckt.

Ich hatte pm uninstallFunktionalität, aber nach dem ROM-Upgrade. Einige Dinge werden nicht mehr deinstalliert. Zum Beispiel die folgenden zwei System-Apps (die ich unter dem vorherigen ROM entfernt habe, wodurch die Gesamtleistung erheblich verbessert wurde):
/system/priv-app/SecurityCenter/SecurityCenter.apk=com.miui.securitycenter
/system/app/Updater/Updater.apk= com.android.updater

Jetzt erhalte ich eine Fehlermeldung beim Versuch, sie per pm zu deinstallieren: Fehler [DELETE_FAILED_INTERNAL_ERROR]

Andere System- Apps (die nicht über die normale Android-Oberfläche deinstalliert werden) werden jedoch per pm uninstallBefehl deinstalliert. Beispiel:
/system/priv-app/Browser/Browser.apk=com.android.browser

Beide sind also System-Apps, was könnte der Unterschied zwischen ihnen sein?

Als Referenz habe ich ein Upgrade von MIUI 8.1.6.0 auf 8.5.3.0 durchgeführt und TWRP und SuperSU neu installiert. Diese Frage ist nicht spezifisch für mein ROM, da ich sehe, dass andere Leute in der gleichen Situation sind. Aber ich scheine einen Vorteil zu haben, einige System-Apps deinstallieren zu können. Und bin bereit, einen Beitrag zu leisten, eine Lösung für alle zu finden, jede App zu deinstallieren.

Ich habe versucht: mount -o rw,remount /system
, aber das hat es nicht gelöst.

Bitte helfen Sie mit Ideen auf dem Weg. Vielen Dank!


Update 1- Bestätigen von Schritten, um zeitweilige Probleme zu vermeiden
* Alle Partitionen in TWRP
gelöscht * Neuestes ROM installiert (MIUI 8.5.3.0)
* Zurück zu TWRP gegangen, nur /Data gelöscht *
/Data von gesicherter Version des ROM wiederhergestellt, das mit dem Gerät geliefert wurde (MIUI 8.1.6.0)
* Jetzt, nachdem ich das Betriebssystem gestartet habe, wird das ROM in den Einstellungen als neuste Version (MIUI 8.5.3.0) angezeigt

Jetzt kann ich jede App, die ich ausprobiert habe, per pm deinstallieren. Selbst die widerstandsfähigsten: Google APP, Updater, Sicherheit.

Dieser Frankenstein ... ähm, ich meine, Hybrid-ROM funktioniert bisher einwandfrei, und ich habe bereits viele Systempakete entfernt, wodurch das Telefon (Redmi 3S+) sichtbar schneller wird. Aber ich würde trotzdem gerne aufzeigen, was dazu geführt hat, dass es in die generische Lösung gelangt ist . Also, wenn es nicht kaputt ist, bin ich bereit, es kaputt zu machen. Wenn es also das nächste Mal kaputt geht, wissen wir, was es verursacht und wie man es repariert.

Update 2-
* Alle Partitionen gelöscht und alle Partitionen aus dem Original-ROM wiederhergestellt.
* Auf Werkseinstellungen zurückgesetzt (unter Verwendung von TWRP)
* und nach dem Booten ins ROM zu TWRP zurückgekehrt und ein weiteres Backup erstellt
* Verwenden des gleichen Szenarios wie in Update 1 oben, mit der einzigen Ausnahme, dass /Data von hier aus verwendet wird. pm deinstallieren funktioniert nicht .

Irgendwelche Gedanken zu den Unterschieden zwischen den beiden /Data-Partitionen, auf die ich mich konzentrieren sollte?

AFAIK pm uninstallkann nicht mit System-Apps verwendet werden. Da nicht klar ist, ob Sie eine App wirklich deinstallieren oder einfach versteckenpm disable möchten (Sie haben erwähnt ), könnte pm hidedas sein, wonach Sie wirklich suchen?
@Izzy Ja, das kann es. Das sage ich oben, ich habe es nur etwas klarer bearbeitet / gemacht. Ich möchte pm deinstallieren , aber was ich meinte, war, dass ich vor dem Upgrade beides tun konnte, System-Apps deinstallieren und deaktivieren, sogar nette Skripte schreiben konnte, um alles nach dem Upgrade zu erledigen.
Ich habe noch nie mit pm uninstallSystem-Apps Erfolg gehabt. Aber ich habe eine Vermutung: Ist Ihr vorheriges ROM ein „Engineering“-Build? Ich nehme an, es funktioniert mit einem Eng-Build (auch bekannt als Dev-Build).
@iBug nein, eigentlich war das vorherige ROM das, mit dem dieses Telefon geliefert wurde. Das neue ROM ist auch ein offizielles Upgrade von der Herstellerseite.
Sehen Sie, ob dies hilft: stackoverflow.com/a/43673368/4720957 // Und können Sie den Inhalt dieser beiden Dateien einfügen: /data/system/device_policies.xmlund /data/system/device_owner.xml?
@Firelord Meine MIUI-Optimierungseinstellung war bereits deaktiviert . device_owner.xml fehlt. device_policies.xml hat nur diese Zeilen: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <policies setup-complete="true"> <active-password -stuff here- /> </Richtlinien>

Antworten (2)

Es ist mir gelungen, die Optionen -k und --user zum Befehl pm hinzuzufügen , z.

pm uninstall -k --user 0 com.android.service

Der Befehl wurde als root ausgegeben, es ist nicht erforderlich, /system als rw neu zu mounten. Android auf dem Telefon ist 6.0 und das Paket ist eine System-App. Ohne die zusätzliche Option bekomme ich den Fehler:

Failure [DELETE_FAILED_INTERNAL_ERROR]
Danke dir. Für alle anderen, die lesen, haben einige Anleitungen einen einzelnen Bindestrich vor dem Benutzer, der bei mir den Fehler verursacht hat.
Hinweis: -k wird nicht benötigt. Anleitungen im Internet kopieren blind. -k soll App-Daten intakt halten. 9/10 Wenn Sie Blähungen entfernen, sollten Sie sich nicht darum kümmern, ihre App-Daten zu erhalten. Keine Notwendigkeit für diese Flagge.
Bei mir hat es funktioniert mit: "adb shell cmd package uninstall -k --user 0 com.android.service"

Funktioniert auch ohne Option -k (Benutzereinstellungen beibehalten):

pm uninstall --user 0 com.android.service

und ohne die adb-shell zu öffnen:

adb uninstall --user 0 com.android.service
Upgrade von miui 10 auf miui 11. aber für wenige System-/Privat-Apps schlagen diese Befehle fehl. zB für com.miui.calculator