[Anleitung] Apps mit Hilfe von ADB entfernen und was noch ohne Root möglich ist

  • 182 Antworten
  • Letztes Antwortdatum
Ich schon im Bett. 💤😁 Sehe mir das heute Nachmittag rum nochmal genauer an.

Danke erstmal für die Hilfe soweit. Also soweit ich weiß habe ich mit User 0 gemacht, bin mir aber nicht sicher ob mit -k oder ohne.

Aber in der Beschreibung in einem anderen Forum hieß es der Befehl haut "alles" weg, kein Reinstall machbar. Vielleicht hab ich den auch angewendet, der komplett "löscht" 🤔 weiß es leider nicht mehr.

Gruß@ll
 
  • Danke
Reaktionen: tecalote
Eine normale Systemapp, die regelmäßig Updates bekommt, hat folgende Verzeichnisse:

1. /system/(priv-)app/~ >> apk-File (Werksversion)
2. /data/app/~ >> apk-File (aktuell)
3. /data/user/0 /~ >> Appdaten
4. /data/user_de/0/~ >> Appdaten

Die Option -k hat keinerlei Auswirkung darauf, was gelöscht oder wie es gelöscht wird. Mit oder ohne -k, das Ergebnis ist dasselbe.

pm uninstall --user 0 <Paketname>
=> Gelöscht werden 3. + 4., aber 2. bleibt für andere User erhalten. Gleichzeitig ist es der App nicht mehr möglich, Daten im Verzeichnis von user 0 (3.+4.) anzulegen. Diese Beschränkung wird in die Datenbanken des Play Stores eingetragen.

pm uninstall <Paketname>
=> Gelöscht werden 2.-4., aber da es sich auf keinen bestimmten User beschränkt, legt die App sofort wieder Daten in den Verzeichnissen der User an. Da 2. gelöscht wurde, läuft die App in der "Werksversion". Dieser Befehl setzt die App also komplett auf Werkszustand zurück.

pm install-existing <Paketname>
=> Dieser Befehl macht nur Sinn, wenn die App für einem bestimmten User "deinstalliert" wurde. Denn er hebt die damit verbundenen Beschränkungen für user XX auf und die App kann wieder benutzt werden. Mehr macht dieser Befehl auch nicht!
Er kann auch nicht die gelöschte apk-File aus 2. zurückbringen!! Dazu muss ein Update der App installiert werden.

#################

Der Befehl pm beinhaltet keine Option, um die apk-File von der Systempartition zu löschen. Alle Befehle beschränken sich ausnahmslos auf die Datenpartition. Selbst mit root-Zugriff ist es einfach nicht möglich.
 
  • Danke
Reaktionen: tecalote und Fenomino
Ich habe das ja schon auf dem Mate10pro gemacht und jetzt auch wieder beim A71. Eine NICHT wieder auffindbare system-apk bekomme ich nicht hin mit
package:com.android.theme.color.purple gelöscht ...

Code:
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell pm list package -u purple
package:com.android.theme.color.purple

Das bedeutet dass die gelöschte apk keine system app war sondern von sonst wo auf das Gerät gespielt wurde und KEINE kopie in der system Partition liegt. Kann mir daher nicht vorstellen dass diese dann so eine zentrale Funktion hat oder sich diese nicht als apk normal installieren lassen soll. Was sein kann ist der Hinweis das vorher andere apps da sein müssen, da würde ich weiter schauen ..

Ich habe keine apk mit "cover" auf meinem a71 (aber ich habe schon viel gelöscht, daher hat das nicht all zu viel zu heißen)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: tecalote
BOotnoOB schrieb:
Eine normale Systemapp, die regelmäßig Updates bekommt, hat folgende Verzeichnisse:

1. /system/(priv-)app/~ >> apk-File (Werksversion)
2. /data/app/~ >> apk-File (aktuell)
3. /data/user/0 /~ >> Appdaten
4. /data/user_de/0/~ >> Appdaten

Die Option -k hat keinerlei Auswirkung darauf, was gelöscht oder wie es gelöscht wird. Mit oder ohne -k, das Ergebnis ist dasselbe.

pm uninstall --user 0 <Paketname>
=> Gelöscht werden 3. + 4., aber 2. bleibt für andere User erhalten. Gleichzeitig ist es der App nicht mehr möglich, Daten im Verzeichnis von user 0 (3.+4.) anzulegen. Diese Beschränkung wird in die Datenbanken des Play Stores eingetragen.

pm uninstall <Paketname>
=> Gelöscht werden 2.-4., aber da es sich auf keinen bestimmten User beschränkt, legt die App sofort wieder Daten in den Verzeichnissen der User an. Da 2. gelöscht wurde, läuft die App in der "Werksversion". Dieser Befehl setzt die App also komplett auf Werkszustand zurück.

pm install-existing <Paketname>
=> Dieser Befehl macht nur Sinn, wenn die App für einem bestimmten User "deinstalliert" wurde. Denn er hebt die damit verbundenen Beschränkungen für user XX auf und die App kann wieder benutzt werden. Mehr macht dieser Befehl auch nicht!
Er kann auch nicht die gelöschte apk-File aus 2. zurückbringen!! Dazu muss ein Update der App installiert werden.

#################

Der Befehl pm beinhaltet keine Option, um die apk-File von der Systempartition zu löschen. Alle Befehle beschränken sich ausnahmslos auf die Datenpartition. Selbst mit root-Zugriff ist es einfach nicht möglich.
Danke für Deine Ausführungen zu in diesem Thread noch nicht beschriebene Details.

Ich möchte noch ein paar Worte ergänzen.

Wie sich das genau verhält mit pm uninstall <Paketname> ohne --user 0 dazwischen wusste ich selbst noch nicht so genau :)
Nach Deinen Ausführungen wird hier die App also primär auf den Werkszustand zurückgesetzt - was bezogen auf Huawei heißt:
Die apk ist wieder so aktiv, wie sie vorinstalliert war - entweder von system/app oder system/priv-app
Die Updates unter data/app und den anderen Datenverzeichnisen werden gelöscht - aber, sofern Updates zu der App im Playstore nicht deaktiviert werden/worden sind - wird die App in den Datenverzeichnisen wieder aktualisiert.
Werde das beizeiten mal testen.

Gelöscht wird durch die ADB-Methode genau genommen keine App - aber es hat den Effekt, als wäre sie gelöscht worden.
Spätestens nachdem sie sich - aus welchem Grund auch immer (müsste man analysieren) nicht wieder aktivieren lässt - erscheint es so, als wäre sie tatsächlich gelöscht worden, was sie aber nicht ist.
Dann müsste die App nach einem Werksreset definitiv wieder da sein.
Bei dem Löschbefehl mit --user 0 ist die App nach dem Werksreset auf jeden Fall wieder da - das hatte ich bereits getestet.

Für mich spielt die Theorie bzw. das, wie es in der Regel sein soll nur Sekundär eine Rolle, denn es muß auch in der Praxis dann so funktionieren.
Das ist jedoch bei verschiedenen wenn/dann/sonst Konstellationen nicht unbedingt immer der Fall und da muß man einfach testen und drauf kommen, woran es liegt.

Was sich genau abspielt beim "Löschen" mit ADB hast Du @BOotnoOB schon angedeutet -
BOotnoOB schrieb:
Diese Beschränkung wird in die Datenbanken des Play Stores eingetragen.
Das geschieht folgendermaßen:
Im Verzeichnis data/system/users/0 gibt es die sogenannte package-restrictions.xml
In der Datei spielt sich die Veränderung ab.

Wenn man beispielsweise:
Code:
pm uninstall -k --user 0 com.google.android.videos

ausführt, dann wird in der
package-restrictions.xml
folgender Eintrag hinzugefügt:

<pkg name="com.google.android.videos" inst="false" stopped="true" nl="true" />

inst = install (Installation)
nl = not launch (wird nicht ausgeführt)

Wenn man nun Root Zugriff auf /data/... hätte, kann man die xml Datei öffnen und mit einem Texteditor
folgende Änderungen machen:

<pkg name="com.google.android.videos" inst="true" stopped="false" nl="false" />

Danach ein Neustart des Gerätes und schon wäre die App wieder da.

Es gibt in der Zeile noch einen Eintrag, den ich jetzt weggelassen habe, weil er nichts zur Sache tut und nicht angerührt werden sollte - die ID der App, z.B.:
ceDataInode="257732"
Diese ID ändert sich automatisch, wenn der Rest aus dem Beispiel geändert wird.

Die manuelle Veränderung mit Root und Texteditor wurde von @zgfg getestet und sie funktioniert.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: orgshooter und rene3006
@tecalote Im Anhang ist ein Auszug aus Logcat, der die Vorgänge des Befehls etwas deutlicher zeigt. Ich habe Google Maps mit pm uninstall --user 0 "deinstalliert".
Hier auch der Quelltext des Befehls pm
Google Git - package com.android.commands.pm

Das ganze Tool ist dafür gemacht, um mehrere Nutzer und deren Packages zu verwalten. Eigentlich ist der ganze Befehl ziemlich simpel, wenn kein bestimmter User genannt wird. Er löscht dann nämlich alles, was sich auf /data im Zusammenhang mit der App finden lässt. Fertig.

Sobald sich aber dieser Befehl auf einen bestimmten User beschränkt, wird es interessant. Während er die App nicht mehr nutzen darf, muss sie weiterhin für andere User zugänglich sein. Das setzt schon mal zwingend das Vorhandensein der .apk voraus und daher wird diese auch nicht gelöscht.
Glücklicherweise hat jeder User sein eigenes Verzeichnis, in dem seine gesamten Daten abgelegt werden. Also wird einfach dieses Verzeichnis für die App unzugänglich gemacht. Der App wird quasi verboten, dieses Verzeichnis zu nutzen.
Über die Zugriffsrechte lässt sich das nur schwer steuern, ohne den Nutzer und sein Verzeichnis zusätzlich einzuschränken. Daher wird es über die Verwaltung der Packages geregelt, hier speziell der Play Store und die Play Dienste. Dort wird festgehalten, dass für User 0 keine Daten angelegt werden dürfen.

Für alle anderen Nutzer gilt das natürlich nicht und darum darf die .apk keinesfalls gelöscht werden! Lediglich die Daten für User 0 müssen entfernt werden und gleichzeitig sichergestellt sein, dass keine neuen angelegt werden.

Genau das ist nämlich auch das entscheidene Detail bei der Sache. Dieser Befehl kann einen User komplett von der Nutzung der App ausschließen, sobald er explizit genannt wird. Aber auch nur dann! Wird die App systemweit gelöscht, braucht es keine Einschränkungen, denn niemand kann sie mehr nutzen.
Allerdings ist diese Konstellation des Befehls bei Systemapps inzwischen völlig sinnlos geworden, da sie sofort wieder neu installiert werden. Mithilfe des pm-Befehls kommst du an die .apk auf /system nicht dran.
DAHER NOCH MAL: DIE APP KANN NICHT UND WIRD AUCH NICHT KOMPLETT GELÖSCHT BEI DER ANWENDUNG DES BEFEHLS!!
Ich habe root-Zugriff und schaffe es nicht auf diese Weise — obwohl ich es will.
 

Anhänge

  • logcat.txt
    13,1 KB · Aufrufe: 62
  • Danke
Reaktionen: harryhase, tecalote und orgshooter
@tecalote und
@BOotnoOB
Ich würde es sehr sinnvoll finden, wenn diese Infos nicht hier im Huawei-Forum untergehen würden.

Diese Superbeschreibungen gehören angepinnt und sind nicht herstellerspezifisch.

Vielleicht sollte einer von euch das mal dem entsprechenden Mod vorschlagen?
 
  • Danke
Reaktionen: tecalote, BOotnoOB und Fenomino
Bitte im ersten Post #1 einmal zusammenfassen ;)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: tecalote und Fenomino
@harryhase Mach ich nach dem Urlaub :)

@BOotnoOB Danke nochmal für Deine Ausführungen! Ich habe mir auch das log genau durchgesehen.
Ich werde nach dem Urlaub mich nochmal eingehend mit diesen interessanten Details auseinandersetzen.

Erstmal genieße ich frei für die nächsten zwei Wochen 😉
 
  • Danke
Reaktionen: borisku, DarkAngel, BOotnoOB und 2 andere
Wollte mich mal nach langer Zeit wieder melden. Mein "Problem" ist immer noch nicht gelöst nebenbei.

Die 2 apks
com.samsung.android.app.ledbackcover
com.sec.android.cover.ledcover
sind WIRKLICH komplett weg offenbar. Der Befehl pm list packages -s com.samsung hat funktioniert und deren Ergebnis ist in angehängter Text Datei zu finden. Die 2te TXT zeigt Liste mit -u an. Die Dateien sind weg ? 🤔

Also doch nur noch der FW Flash ? Gruß an Alle und Danke soweit bis hier.
Beiträge automatisch zusammengeführt:

Habe auch verschiedene "Reihenfolgen" der apks und Befehle getestet. Immer der gleiche Fehler.

cmd package install-existing com.sec.android.cover.ledcover
android.content.pm.PackageManager$NameNotFoundException: Package com.sec.android.cover.ledcover doesn't exist
1|r5q:/ $ cmd package install-existing com.samsung.android.app.ledbackcover
android.content.pm.PackageManager$NameNotFoundException: Package com.samsung.android.app.ledbackcover doesn't exist
1|r5q:/ $ pm install-existing com.samsung.android.app.ledbackcover
android.content.pm.PackageManager$NameNotFoundException: Package com.samsung.android.app.ledbackcover doesn't exist
1|r5q:/ $ pm install-existing com.sec.android.cover.ledcover
android.content.pm.PackageManager$NameNotFoundException: Package com.sec.android.cover.ledcover doesn't exist
1|r5q:/ $

Wie gesagt ich weis nicht mehr ob user 0 Deinstall oder richtig komplett weg. Ich denke eher komplett weg, so das die apks zwar wie beschrieben noch existieren aber nicht reaktivierbar sind mit gängigen Methoden.

Der ganz harte Weg geht auch nicht. Hab jetzt mal den Firmware Flash (doch) durchgeführt, auch KEIN Erfolg. Die Dateien sind nicht da. Es geht also dann offenbar nur der volle Werksreset ohne Home_CSC (Samsung) und voll neu platt machen. aber wegen dem LED Seitenlicht, lohnt sich das aber nicht.
 

Anhänge

  • samsung_apps.txt
    8,5 KB · Aufrufe: 55
  • samsung apps -u.txt
    7,2 KB · Aufrufe: 62
Zuletzt bearbeitet:
@Mark77 Du kannst auch ohne root mit einem root-Explorer die Dateien und Ordner unter /system sehen, da sie read only sind. Eigentlich sollten deine gesuchten .apks unter /system/app oder /system/priv-app zu finden sein, wenn es sie gibt.
 
Root Explorer für das Handy oder der "spezielle" Explorer den es da mal für den Windows PC gab ? Letzteres ist ja gepatcht worden.

Mit Root Explorer kann ich mal schauen ob ein "lesender Zugriff" geht, aber ich denke eher da kommt Warnhinweis das das Phone nicht gerootet ist und das Verzeichnis bleibt leer oder wird gar nicht geöffnet.

ps: die gesuchten APKs habe ich ja als Datei da, nur lassen die sich nicht installieren. Beim Handy out of Box gar nicht und per ADB kommen Fehler, da es die APK (auf den PC ?) nicht finden kann.

Habe wie gesagt schon FW komplett neu geflasht, aber ohne Reset und nix passiert, die APKs sind weg. Ich müsste wahrscheinlich komplett werksresetten und total von Null beginnen. Das mir aber mit dem Cover und Seitenlicht (noch) nicht wert. Das Handy läuft so alles super sauber.
 
Zuletzt bearbeitet:
@Mark77 Ich spreche von einer App für dein Handy. Über den PC ist das nicht mithilfe eines Explorers möglich.
Installier dir einfach den hier FX File Explorer: the file manager with privacy - Apps on Google Play
du kannst ihn danach wieder runterwerfen.
Beiträge automatisch zusammengeführt:

Wenn du die App öffnest, siehst du auf dem Hauptbildschirm das Icon "System" (grün). Damit kannst du direkt das Verzeichnis /system öffnen. Du hast auch eine Suchfunktion in diesem Menü.
Beiträge automatisch zusammengeführt:

@Mark77 Ein Werksreset wird nix bringen. Damit wird die Partition /data gelöscht und hat keinen Einfluss auf /system.
Mit dem besagten ADB-Befehl hast du ja schon alle Daten der App von /data gelöscht, aber die .apk in der Werksversion muss nach wie vor unter /system zu finden sein.

Das Verzeichnis /system lässt sich immer ohne root öffnen. Es ist read only gemountet und dadurch hast du die Möglichkeit es zu lesen. Du kannst halt nichts ändern, da du keinen Schreibzugriff hast (read/write).
 
Zuletzt bearbeitet:
@BOotnoOB
Aber das Paket gibt es mit diesem Namen so nicht.
Ich habe im TotalCommander nach "*ledbackcover*" gesucht.
Dies waren mein Treffer:
Screenshot_20200716-224417_Total Commander.jpg

Ich hatte es bei mir für User0 gelöscht!
 
Zuletzt bearbeitet:
@Mark77 Und beim nächsten Mal nimmst du den Samsung Debloater aus dem Playstore. Mit Häkchen setzten ist dann alles geregelt, ohne PC zu und auch wiederherstellbar
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: sGässje - Grund: sGässje
@orgshooter Die App hast du ja gefunden, zweiter Treffer als "*.apk."
Android bezeichnet die Apps mit dem Paketnamen, der in dem AndroidManifest.xml deklariert ist. So sind sie auch im System hinterlegt. Die .apk-Datei kannst du benennen wie du willst, aber sie installiert ausschließlich das Paket, welches sie laut Manifest beinhaltet.
Beiträge automatisch zusammengeführt:

Du kannst die .apk kopieren und mit einem Archiventpacker öffnen. Sie ist nichts anderes, als eine signierte .zip-Datei. Dann kannst du dir auch das Manifest ansehen.
 
Zuletzt bearbeitet:
@BOotnoOB
Okay, dann muss ich vielleicht mal was "blödes" fragen:
FindMyMobile habe ich nicht deinstalliert, jedoch wird mir die Datei "...fmm.apk" nur einmal in dem Ordner "priv-app" als Treffer angezeigt.
Bedeutet, wenn @Mark77 die Dateien dort nicht findet, dann sind die wohl doch (wie auch immer) gelöscht worden.

Sonst müsste ja eine nichtdeinstallierte Systemdatei zweimal im System gefunden werden, oder?
 
@orgshooter Ja und nein.
Ja, weil sie auf jeden Fall in ~/app oder ~/priv-app vorhanden sein muss. Ansonsten muss sie dort logischerweise gelöscht worden sein. Das ist aber ohne root keinesfalls möglich!

Nein, weil die .apk nicht zwangsläufig 2x vorhanden sein muss, wenn sie nicht deinstalliert wurde.
Eine Systemapp legt zunächst nur ihre Daten unter /data an. Das macht jede App auf deinem Gerät. Es gibt immer einen Ordner mit der .apk und einen mit den Daten. Eine Systemapp legt nur dann noch eine zusätzliche, zweite .apk an, wenn sie ein Update erhalten hat. Denn selbst der Playstore kann nicht auf /system zugreifen und muss daher auf /data ausweichen und legt jedes Update dort an.
Die "Find my Mobile"-App hat in deinem Fall kein Update erhalten.
 
  • Danke
Reaktionen: orgshooter
Die upgedatete APK liegt bei mir unter "///Apps"!
Wie alle installierten Apps.
Demnach müsste ja unter "priv-app" die Originaldatei liegen, oder?
Unter "/data" wird mir diese nicht nochmals angezeigt.
 
orgshooter schrieb:
Die upgedatete APK liegt bei mir unter "///Apps"!
Du hast generell bei Android unter /system/(priv-)app und unter /data/app die .apk-Dateien. Was bei dir unter ///Apps zusammengefasst wird, ist bestimmt nur eine Art Kategorieansicht, oder? Es ist kein tatsächliches Verzeichnis.
 
Zuletzt bearbeitet:
@BOotnoOB
Das kann sein.
Ich nutze den TotalCommander seit Winmobil Zeiten.
Daher habe ich mir über die Dateistruktur (leider) noch nicht so viele Gedanken gemacht....

"/data/app" wird mir (beim nicht gerooteten Gerät) leider nicht angezeigt. Unter "/data" wird mir nur ein Verzeichnis angezeigt. Anscheinend habe ich dann noch nicht mal einen Lesezugriff auf diesen Ordner.
 

Ähnliche Themen

ChopperVT
  • Gesperrt
  • ChopperVT
Antworten
1
Aufrufe
554
kruemelgirl
kruemelgirl
5
  • 592723
Antworten
5
Aufrufe
1.491
592723
5
C
Antworten
33
Aufrufe
3.256
Cris
Cris
Zurück
Oben Unten