Systemapps mittels ADB sichern, löschen und wieder herstellen


Mittels der ADB lassen sich ganz einfach Systemapps sichern, deinstallieren und wieder neu installieren. Beispielhaft zeige ich dies mal an der Taschenrechner-App (Calkulator.apk) im DeFrost-ROM

Als erstes solltet Ihr ein Nandroid-Backup machen, damit Ihr eueren alten Zustand wieder herstellen könnt, sofern Euer ROM nicht mehr starten will (weil eventuell die eine oder Andere Systemapp doch tiefer im System integriert ist…)

1. Schreibzugriff auf der Systempartition herstellen:

  • Am Telefon USB-debugging einschalten und per USB-Kabel an den Rechner anschließen
  • Auf dem Rechner eine Kommandozeile öffnen und in das Verzeichnis Tools des Android-SDK wechseln
  • Habt Ihr S-Off genügt die Eingabe des Befehls „adb remount“ und Ihr könnt zu Schritt 2 gehen
  • Ohne S-OFF müsst Ihr ins Recovery starten, indem Ihr den Befehl „adb reboot recovery“ eingebt. Anschließend startet das Telefon ins Clockworkmod-Recovery. Sobald das Telefon im Recovery ist,  gebt Ihr den Befehl „adb shell mount /system“ ein

2. Auflistung aller Systemapps:

  • Als erstes will ich herausbekommen, was alles an Systemapps auf meinem Desire ist, dazu starte ich eine Shell, die mir eine Art Kommandozeile auf dem Telefon gibt, in dem ich den Befehl „adb shell“ eingebe
  • (Vor dem Cursor im Kommandozeilenfenster auf dem PC steht jetzt nicht mehr der Pfad zur ADB sondern ein „#“ )
  • jetzt den Befehl „ls system/app“ eingeben (Der Befehl lautet LS in Kleinbuchstaben!!!), dies Listet alle Systemapps auf
  • auf dem Bildschirm sieht man lauter Dateien mit der Endung apk, die sich im Systemverzeichnis befinden. Google hilft eigentlich recht schnell, wenn man wissen will, welche Datei welche Funktion hat
  • durch Eingabe von „Exit“ verlasse ich die Android-Shell,
  • Wichtig: Die nachfolgenden Befehle funktionieren nicht, bzw. führen zur Fehlermeldung „/sbin/sh: adb: not found“ die sagt, dass adb nicht gefunden wurde. Also immer hier per EXIT die Shell verlassen (ihr arbeitet sonst auf dem Handy und dort existiert der Befehl „adb“ nicht)

3. Backup einer Systemapp:

  • als Beispiel dient mir der Taschenrechner (Calculator.apk)
  • der Befehl „adb pull system/app/Calculator.apk Calculator.apk“ kopiert die Taschenrechner-App in das Verzeichnis Tools des Android-SDKs. Der Allgemeine Backup-Befehl für Systemapps lautet: „adb pull system/app/<Dateiname der apk-Datei> <Kompletter Zielpfad auf dem Rechner><Name der apk-datei auf dem Rechner>“ So kann ich beispielsweise auch die Taschenrechner-App auf ein anderes Verzeichnis (Beispielsweise App-Backup auf meiner Festplatte D) mit folgendem Befehl sichern: „adb pull system/app/Calculator.apk d:\App-Backup\Calculator.apk“

4. Löschen einer Systemapp:

  • eine Systemdatei kann ich mit dem ADB-Befehl rm (für remove) löschen
  • Um beim Beispiel des Taschenrechners zu bleiben: „adb shell rm system/app/Calculator.apk“
  • Es erfolgt keine Rückfrage, die Datei ist jetzt gelöscht

5. Wieder herstellen einer APK-Datei vom Rechner

  • als Beispiel dient mir der Taschenrechner (Calculator.apk)
  • der Befehl „adb push Calculator.apk system/app/Calculator.apk“ kopiert die Taschenrechner-App aus dem Verzeichnis Tools des Android-SDKs in das Systemverzeichnis des Telefons. Der Allgemeine Restore-Befehl für Systemapps lautet: „adb push <Kompletter Zielpfad auf dem Rechner><Name der apk-datei auf dem Rechner> system/app/<Dateiname der apk-Datei>“ So kann ich beispielsweise auch die Taschenrechner-App aus einem anderen Verzeichnis (Beispielsweise App-Backup auf meiner Festplatte D) mit folgendem Befehl wieder herstellen: „adb push d:\App-Backup\Calculator.apk system/app/Calculator.apk“

avatar

Über Brain McFly

Rooter aus Leidenschaft, Nerd, Erklärbär ;o)

44 thoughts on “Systemapps mittels ADB sichern, löschen und wieder herstellen”

  1. avatar C0NSPIRAT0R sagt:

    Hab noch nie was via ADB gemacht, aber klappt alles so, wie du es beschreibst. Das das ganze via Wlan auch funktioniert, könntest du noch einpflegen.

    1. avatar Brain McFly sagt:

      Das ADB-Wlan hab ich auch schon gefunden, aber ich traue bei systemkritischen Sachen der WLAN-Geschichte nicht ganz ;o)

  2. avatar Marti sagt:

    klingt gut. gleich mal testen

  3. avatar jwaschit sagt:

    Kann man die Apps auch mit dem Root-Explorer löschen?
    Vorausgesetzt S-OFF natürlich.

  4. avatar jogie sagt:

    Hallo super Anleitung nur ein kleines Problem.
    Bei mir funktionierte der Befehl pull zum sichern der apk nicht.
    ich habe darauf mv für move genommen, daraufhin wurde miene Flickr.apk gelöscht. Hast du die zufällig iwo rumliegen?

    1. avatar Brain McFly sagt:

      entpacke sie dir doch einfach aus der zip-datei deines Roms.

      1. avatar jogie sagt:

        stimmt da kam ich dann gestern auch noch drauf.
        Danke

  5. avatar perer sagt:

    Hallo,

    Kann ich auch die phone.apk wiedereinspiellen? Diese möchte ich ändern. Möchte nur den grünen droiden wegbekommen. Habe desire hd mit original Software und root. Habe herausgefunden das in der phone.apk die png’s enthalten sind. Danke für Hilfe.

    1. avatar Brain McFly sagt:

      such dir ein rom mit einer unveränderten Phone.apk und extrahiere diese einfach aus dem zip. Dann mit ADB wieder aufs telefon aufspielen müsste theoretisch funktionieren. Praktisch weiß ich das nicht. Welches Theme hast du denn installiert, vielleicht kommt es auch von dem?

  6. avatar perer sagt:

    Hallo, ich möchte die original rom beibehalten Themen ist auch original, mich stört nur der droide wenn ich angerufen werde. Möchte aber keine Fotos zu Kontakte hinzufügen. Habe gedacht ich kann die phone.apk in zip umwandeln die png’s täuschen und wieder einspielen. Ist mein erstes Android Telefon, und möchte nix fleschen.

  7. avatar bEaMeR sagt:

    Hi, ma ne Frage,

    ich möchte GMAIL entfernen, aber ich bekomme die fehlermeldung: rm failed for system/app/gmail.apk, Read-only File Sytem.

    Root rechte hab ich,

    Cyanogenmod DeFroST 6.1a

    thx

    1. avatar Brain McFly sagt:

      ins recovery restartet wie im ersten Abschnitt beschrieben?

  8. avatar bEaMeR sagt:

    hab ich irgendwie total überlesen ….

    peinlich 🙂

    thx & super seite 🙂

  9. avatar Solaris sagt:

    Hallo,

    leider funktioniert die Anleitung bei mir nicht.
    Die Systemapps werden mit „ls system/app“ noch korrekt angezeigt, aber beim Sichern oder Entfernen gibt es nach Eingabe von „adb shell rm system/app/HtcTwitter.apk“ die Fehlermeldung: „/sbin/sh: adb: not found“
    Auch beim Versuch, andere Anwendungen zu löschen, kam die gleiche Fehlermeldung.

    Desire – Leedroid 2.3c im „Recovery“
    Rootrechte
    Win7 (cmd als Administrator) – HTC-Sync 3.0

    Tolle Seite, danke für die viele Arbeit…!

    1. avatar Brain McFly sagt:

      titanium backup starten
      taste „probleme“ drücken zur installation der Busybox
      Desire neu starten
      nochmal Probieren

    2. Hallo,

      habe über Titanium-Backup die Busybox neu installiet, neu gestartet, ins Recovery und die Fehlermeldung bleibt leider die gleiche.
      Noch Ideen?

      1. avatar Brain McFly sagt:

        führst du die befehle auf dem telefon aus? Die Befehle werden im SDK-Tools verzeichnis deines Rechners eingegeben.

        1. avatar Solaris sagt:

          Die Befehle führe ich, wie in deiner Anleitung steht, im Computer in der Eingabeaufforderung aus. Bis zur Anzeige der vorhandenen apk’s geht auch noch alles, wie es soll. Bloß beim dann löschen nicht.

  10. avatar L4K5HM1 sagt:

    Hallo!

    Ich komme beim Löschen der apps nicht weiter. Wenn ich adb shell rm system/app/beispiel.apk eingebe, erscheint die Frage, ob ich die Datei löschen will, ich kann aber keine weitere Eingabe machen. Es passiert einfach nichts mehr. Gelöscht ist auch nichts.

  11. avatar djbelij sagt:

    hi ich benutze die adb apk geht super einfach und hab bis jetzt keine probleme

  12. avatar Chiller0tis sagt:

    Hab das selbe Problem wie Solaris…bei mri kommt die gleiche Meldung und die App wurde nicht gelöscht 🙁
    Hab auch schon in Titanium Back up die Bussybox installiert, aber nicht geholfen…
    Hoffe jemand kann mir helfen;)

    1. avatar Brain McFly sagt:

      usb-debugging ist angeschalten?

      1. avatar Solaris sagt:

        USB-Debugging ist bei mir angeschaltet.

        1. avatar Brain McFly sagt:

          hast du s-off, bzw. wenn nicht, bist du im recovery, wenn du die app löschen willst?

  13. avatar Chiller0tis sagt:

    Ich hatte den glecihen Fehler wie du, die lösung ist eigentlich ganz einfach:P
    Ich verlink dich mal auf den Forum eintrag von mir und dort steht auch die Lösung;)

    http://www.android-hilfe.de/root-hacking-modding-fuer-htc-desire/76996-problem-beim-loeschen-von-standard-apps.html

    So Hoffe das Hilft dir;)

    1. avatar Brain McFly sagt:

      danke für den Hinweis. Bin irgendwie nicht drauf gekommen, dass man das Exit weeglässt. Habs mal eingefügt.

      1. avatar Solaris sagt:

        Jetzt hat’s endlich geklappt. Hatte tatsächlich das „Exit“ nicht gemacht. Ich hatte gedacht, dass das erst am Schluss notwendig ist… Sorry.

        Danke für die super Anleitungen!
        So konnte ich auch endlich den HTC LockScreen loswerden.
        Irgend eine Idee, wie ich nun das Entsperren mit 2 Klicks auf die mittlere Taste hinbekomme? Beim HTC Lockscreen ging das bei LeeDroid ja.

  14. avatar Desireme sagt:

    Hallo zusammen,

    mein Desire ist S-OFF nach http://alpharev.nl/ und trotzdem ist dieser Schritt (Zitat):
    „Habt Ihr S-Off genügt die Eingabe des Befehls “adb remount” und Ihr könnt zu Schritt 2 gehen“ nicht möglich.
    Es kommt die Meldung: * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    remount failed: Operation not permitted
    Nach der Vorgehenweise für nicht S-OFF: „Ohne S-OFF müsst Ihr ins Recovery starten, indem Ihr den Befehl “adb reboot recovery” eingebt. Anschließend startet das Telefon ins Clockworkmod-Recovery. Sobald das Telefon im Recovery ist, gebt Ihr den Befehl “adb shell mount /system” ein“ geht es.

    Ideen?

    Danke und Grüße

    Desireme

    1. avatar Brain McFly sagt:

      rechner mal neu gestartet? oder schau mal im taskmanager, ob noch eine „adb.exe“ im Speicher hängt und kill diese mal, manchmal liegt es daran…

  15. avatar Desireme sagt:

    Hallo Brain,

    danke für deine Unterstützung. Unter den gleichen Voraussetzungen konnte ich jetzt nicht mehr prüfen, da ich Cyanogenmod 7RC aufgespielt habe und mit dem funktioniert es. Den Rechner neustarten wäre es nicht gewesen, weil ich es Tags drauf wieder erfolglos probierte. Wäre nur der Taskmanager geblieben.

    Danke und Gruß

    Desireme

  16. avatar micee10775 sagt:

    Hi,

    braucht mann für oben genannte Befehle ROOT?

    Micha

    1. avatar micee10775 sagt:

      Ah, wo sind wir hier.

      Kann ich mir selbst beantworten – JA.

  17. avatar boardefan sagt:

    hi, ich habe das prob das ich mittels : „ls system/app“ nur die fehlermeldung: ls: system/app: No such file or directory
    ~ #
    ausgeworfen bekomme! sonst hat alle funktioniert!

    kann mir wer helfen?

    grüße
    b-f

    1. avatar boardefan sagt:

      hat sich erledigt!!!!
      im recovery (CWM 3.0.2.8) war war „back menue button enabled“

      ich dummerchen hab zuvor mit dem tarckpad gescrollt und jenes so aktiviert!

      danke für diese anleitung hier!
      grüße
      b-f

  18. avatar Lambui sagt:

    Leider bei mir klappt die Anleitung nur bis zum Befehl >adb reboot recovery
    Das Tablet kommt ins Recovery-Mode mit mehreren Optionen.
    Überall dann, außer der Option „apply update from adb“ kommt bei der Angabe „adb shell mount /eystem“ die Fehlermeldung „error : device (null) not found“.
    Wenn ich aber auf dem Tablet die Option „apply update from adb“ anwähle und dan den Befehl „adb shell mount /eystem“ angebe kommt „error: closed“
    Was mache ich falsch?

Comments are closed.