2017-05-31 5 views
-2

Ich entwickle eine Android-Anwendung, die einige JSON-Dateien in den externen Speicher schreibt. Für die Entwicklung möchte ich nach den geschriebenen JSON-Dateien suchen.Wie bekomme ich Root-Zugriff auf einen Android 7.0-Emulator?

Ich weiß, dass ich diese Dateien mit Root-Zugriff in /data/data/package-name/ anzeigen kann.

Aber wie kann ich Root-Zugriff auf den Android 7.0-Emulator bekommen?

Ich habe bereits versucht, den Befehl su in der adb shell und adb Wurzel auch - aber dann bekomme ich diese Fehlermeldung: adbd cannot run as root in production builds

Vielleicht haben Sie einen Rat?

+1

Wäre es eine Option, stattdessen einen Debug-Build auszuprobieren? – lucidbrot

+2

"Ich weiß, dass ich diese Dateien mit Root-Zugriff in/data/data/package-name/anzeigen kann" - das ist kein [externer Speicher] (https://commonsware.com/blog/2014/04/08/ storage-situation-external-storage.html). Das ist [interner Speicher] (https://commonsware.com/blog/2014/04/07/storage-situation-interne-storage.html). Also ... schreibst du auf internen Speicher oder externen Speicher? – CommonsWare

+0

Ich benutze immer noch die Debug-Build-Variante. Ich schreibe die JSON-Dateien nach/data/data//files mit context.getFilesDir(). GetPath() + "/" + Dateiname –

Antwort

4

Ich schreibe die json Dateien/Daten/data // Dateien mit context.getFilesDir(). GetPath() + "/" + filename

Das interne Speicher ist, nicht extern Lager.

Verwenden Sie adb shell run-as ... ???, um Befehle als Benutzer Ihrer App auszuführen, wodurch diese Befehle auf den internen Speicher zugreifen können. Hier ist ... die Anwendungs-ID Ihrer App und ??? ist ein Befehl.

So zum Beispiel für den Inhalt eines typischen Ort zur Liste getFilesDir() für eine App, deren Benutzer-ID ist com.foo.bar, zu verwenden:

adb shell run-as com.foo.bar ls /data/data/com.foo.bar/files 

Dies funktioniert nur für debug Apps.

+1

danke! Genau das habe ich gesucht! –

Verwandte Themen