Wie kann ich auf die Dateien in „/data/data“ zugreifen und sie ohne Root auf die Speicherkarte kopieren?

Gibt es eine Möglichkeit, auf die Dateien zuzugreifen /data/dataund sie auf die Speicherkarte zu kopieren? Ich habe keinen Root-Zugriff.

Antworten (1)

Ohne Root-Zugriff haben Sie 2 Möglichkeiten. Mit beiden Optionen können Sie (möglicherweise) auf die Dateien für eine bestimmte App zugreifen, z. B. den Ordner /data/data/com.app.packagename.

  1. Wenn die Anwendung debugfähig ist, können Sie den run-asBefehl in der ADB-Shell verwenden (weitere Informationen darüber, was ADB ist und wie es installiert wird, finden Sie hier )

    adb shell
    run-as com.your.packagename` 
    cp /data/data/com.app.packagename/
    
  2. Wenn die Anwendung nicht debuggbar ist, können Sie die Sicherungsfunktion von Android verwenden.

    adb backup -noapk com.app.packagename
    

    Sie werden nun aufgefordert, Ihr Gerät zu entsperren und den Sicherungsvorgang zu bestätigen. Am besten KEIN Passwort vergeben, da sonst das Lesen der Daten erschwert wird. Klicken Sie einfach auf „Meine Daten sichern“. Die resultierende Datei „backup.ab“ auf Ihrem Computer enthält alle Daten der App im Android-Sicherungsformat. Im Grunde ist es eine komprimierte Tar-Datei. Auf dieser Seite wird erläutert, wie Sie den zlib-Befehl von OpenSSL zum Dekomprimieren verwenden können. Sie können den adb restore backup.dbBefehl verwenden, um die Sicherung wiederherzustellen.

Gilt dies auch für Bewerbungen mit android:allowbackup="false"?
@Drejon Nein, ich glaube nicht, dass es in diesem Fall funktionieren wird (aber ich habe es nicht getestet, also bin ich mir nicht 100% sicher).
Ich bin mir sicher, dass es einige Anwendungsfälle gibt, die keine Sicherung zulassen. Beim Erstellen von Backups aller Apps sichern sie einfach nichts. AFAIK, einige Apps bieten möglicherweise eine eingeschränkte Teilmenge von Dateien oder vielleicht sogar etwas Benutzerdefiniertes, also betrachten Sie es nicht als immer 1:1 des Verzeichnisses in /data/data. Übrigens, BlackBerry zwingt mich, ein Passwort zu verwenden, aber es ist möglich, es zu entschlüsseln (wenn Sie das Passwort haben). Ich glaube, ich habe dafür sourceforge.net/projects/adbextractor verwendet .
Ich habe es geschafft, es mit adb backup -noapk com.app.packagename zu bekommen. Sie erhalten backup.ab, dann müssen Sie es in tar konvertieren (um es mit 7zip zu öffnen). Sie können es mit sourceforge.net/projects/adbextractor konvertieren - dort ist jar in thi namens abe.jar. Dann können Sie den Befehl java -jar abe.jar unpack backup.ab backup.tar ausführen
Wenn adb backupeine winzige (41-47 Byte) Datei erzeugt wird, kann es sein, dass die APK als allowBackup=0. Laufen aapt dump xmltree whatever.apk AndroidManifest.xml | grep allowBackup.