Verwendung: Droid Bionic 4.04 ohne Root.
Ich kann die ADB verwenden, um beispielsweise eine bestimmte APK-Datei auf meinen PC zu ziehen,
adb pull /data/app/com.google.android.gm-1.apk C:\my-hacks
die die APK-Datei von Google Mail ziehen. Aber wenn ich versuche, das gesamte Verzeichnis /data/app mit zu kopieren
adb pull /data/app C:\myhacks
Die Befehlszeile lautet
Pull: Dateiliste erstellen... 0 Dateien gezogen. 0 Dateien übersprungen.
Ich verstehe nicht, warum ich die Berechtigung habe, bestimmte Dateien aus /data/ zu ziehen, aber nicht alles.
Es ist eine "Erlaubnis und Privatsphäre" Sache. Während das .apk
keine Bedenken hinsichtlich des Datenschutzes hat (und daher jedem Leseberechtigung erteilen kann), tun dies die Daten, und daher ist das Verzeichnis nur für Besitzer, Gruppe und Root lesbar (nicht für "andere", was Sie tun würden need -- "other" hat nur eXecute-Berechtigungen).
ls -l / | grep data
drwxrwx--x 25 system system 4096 Jan 28 17:51 data
Das bedeutet: Wenn Sie die Datei direkt angeben, können Sie sie ziehen (da sie die erforderlichen Dateiberechtigungen hat und das Verzeichnis es cd
aufgrund des gesetzten eXecute-Bits zulässt). Die Angabe des Verzeichnisses schlägt stattdessen fehl, da dies erfordern würde, ( ) in das Verzeichnis zu wechseln cd
(was funktioniert) und eine Liste der enthaltenen Dateien zu erstellen - was aufgrund der fehlenden Leseberechtigung für den Verzeichniseintrag selbst unmöglich ist.
Izzys Antwort ist gut und gut erklärt. Darauf aufbauend können Sie als Root den Root-Explorer öffnen, zum App-Ordner navigieren /data/
und die Berechtigungen für den App-Ordner ändern.
Drücken Sie einfach lange auf die App, tippen Sie auf Permissions
und aktivieren Sie neben anderen die entsprechenden Kästchen.