Wie bekomme ich eine Datei von /data/data/com.myapplication?

Ich muss eine interne Datei aus dem Dateisystem intakt bekommen. Ich sehe die Datei mit dem ES File Explorer in LocalDevice/data/data/com.myapplication/file/user.json. Das Gerät (Nexus-7) ist gerootet. Ich kann die Datei kopieren und an einem anderen Ort einfügen, aber ich denke, dass dies die Art der Datei ändern kann. Eine Möglichkeit wäre, es per E-Mail zu versenden, aber Google Mail (oder was auch immer) hat keinen Zugriff auf diesen Ordner. Gibt es eine Möglichkeit, Gmail die Berechtigung zu erteilen? oder eine andere Möglichkeit, die Datei herauszubekommen?

Ich debugge eine App, die ich erstelle, in der diese JSON-Datei programmgesteuert von res/raw an den Speicherort data/data/... kopiert wird. Das Parsen der JSON-Datei in data/data löst eine Parsing-Ausnahme aus, und deshalb möchte ich mir die geschriebene JSON-Datei ansehen, um zu sehen, ob sie korrekt kopiert wurde.

Antworten (1)

Wie Sie vielleicht bereits wissen, können Sie auf diese Dateien nur mit root zugreifen, dh wenn Ihr Gerät gerootet ist.

Ich kann die Datei kopieren und an einem anderen Ort einfügen, aber ich denke, dass dies die Art der Datei ändern kann.

Was? Nein, das Kopieren einer Datei ändert den Inhalt der Datei nicht. Sie sind zum Zeitpunkt des Starts des Kopiervorgangs gleich. Idealerweise sollten Sie sicherstellen, dass kein Prozess ein offenes Write/Append-Datei-Handle an der Datei hat, indem Sie die relevanten Prozesse beenden (z. B. com.myapplication)

Danke für deine Antwort. Mit "Ändern der Art" der Datei meinte ich nicht den Inhalt, sondern eher von einer Codierung zur anderen.
Außerdem habe ich auf Ihren Vorschlag hin sichergestellt, dass myapplicationes nicht ausgeführt wird, und dann versucht, die Datei als Anhang in Google Mail zu senden, aber ich erhalte immer noch den Fehler Anhang konnte nicht gefunden werden.
Das Kopieren einer Datei ändert ihre Kodierung nicht. Und obwohl Ihr Gerät Root-Zugriff hat, hat Gmail keinen Root-Zugriff. Was Flow sagen wollte, ist: 1) Verwenden Sie ES File Explorer, um die Datei von /data/data/com.myapplication/file/user.jsonz. B. zu kopieren /sdcard/user.json, dann 2) öffnen Sie diesen neuen Speicherort in Google Mail, um die Datei anzuhängen, und schließlich 3) löschen Sie sie optional, /sdcard/user.jsonda sie nicht mehr benötigt wird.