2014-09-02 1 views
12

Ich habe eine App, die in Textdateien auf internen Speicher schreibt. Ich möchte meinen Computer genau unter die Lupe nehmen.So finden Sie meine App/Daten/Daten mit dem Datei-Explorer von Android Device Monitor

ich einen Toast.makeText lief den Weg anzuzeigen, heißt es: /data/data/mypackage

Aber wenn ich auf Android Studio Android Device Monitor Anwendung gehen, ich sehe/Daten nicht/Daten im Datei-Explorer. Wo sind meine Dateien?

Ich weiß, dass sie existieren, weil ich die on adb Schale finden kann. Ich muss/Daten/Daten in einen Pfad konvertieren, der im Datei Explorer sichtbar ist, damit ich sie einfach herunterladen kann. Vielen Dank!

+0

Gibt es nicht Ihr Paket? Wie Daten/Daten/Ihr Paket? Und das ist beim User Build nicht möglich. –

+0

Nicht genau ein Duplikat. Ich habe diesen SO-Eintrag ausprobiert, mit dem Sie bereits letztes Wochenende verbunden waren. Das Problem ist, wenn ich ihren cp-Befehl benutze, kann ich es nicht von adb auf meinen Laptop kopieren. Ich habe auch versucht, die Backup-Route zu verwenden, aber mein Telefon ist verschlüsselt und ich muss mein Krypto-Passwort eingeben, sonst geht es nicht weiter. Also, ich versuche, Android Studio Android Device Monitor-Anwendung zu verwenden, um einen Zug zu machen. Aber der Pfad/Daten/Daten wird nicht angezeigt. Deshalb stelle ich diese SO-Frage, speziell für den Pfad der Übersetzung/Daten/Daten in einen Pfad, der sich im Android Device Monitor von Android Studio widerspiegelt. – Gerard

+0

Eröffnet die Frage jetzt :) –

Antwort

5

Sie können das nur überprüfen, wenn Sie ein verwurzeltes Telefon haben, da diese Ordner für Anwendungen privat sind und der normale Zugriff auf solche Ordner beschränkt ist. Ich würde empfehlen, wenn Sie nicht ein Telefon verwurzelt haben dann eine Kopie Ihrer internen Ordner und schreiben Sie sie auf Ihre SD-Karte, um den Inhalt zu überprüfen. Die andere Möglichkeit besteht darin, Ihr Telefon zu rooten oder einen Emulator zu verwenden.

Hier ist der Code, den Sie eine Kopie auf Ihrer externe SD-Karte schreiben kann:

public static void copyDirectoryOneLocationToAnotherLocation(File sourceLocation, File targetLocation) 
      throws IOException { 

     if (sourceLocation.isDirectory()) { 
      if (!targetLocation.exists()) { 
       targetLocation.mkdir(); 
      } 

      String[] children = sourceLocation.list(); 
      for (int i = 0; i < sourceLocation.listFiles().length; i++) { 

       copyDirectoryOneLocationToAnotherLocation(new File(sourceLocation, children[i]), 
         new File(targetLocation, children[i])); 
      } 
     } else { 

      InputStream in = new FileInputStream(sourceLocation); 

      OutputStream out = new FileOutputStream(targetLocation); 

      // Copy the bits from instream to outstream 
      byte[] buf = new byte[1024]; 
      int len; 
      while ((len = in.read(buf)) > 0) { 
       out.write(buf, 0, len); 
      } 
      in.close(); 
      out.close(); 
     } 

    } 
+1

Ich hatte gehofft, dass ich dies nicht tun musste, aber angesichts der Umstände Kopieren auf SD-Karte ist einfacher als rooten, nur um ein paar Dateien zu bekommen. Vielen Dank. – Gerard

1

Siehe this. Da/data/data ein interner Speicher für die Anwendung selbst ist, können nur Apps mit derselben Benutzerkennung darauf zugreifen (oder Sie verfügen über ein gerootetes Gerät).

+0

Gibt es keine Möglichkeit, den Inhalt meiner App in einem sichtbaren Pfad zum Datei-Explorer von Android Device Monitor anzuzeigen? Ich habe beide Optionen 1 und 2 in Ihrem Link am letzten Wochenende bereits ausprobiert. Die erste bekommt einen Syntaxfehler auf cp. Die 2. Ich am Ende mit einem verschlüsselten Backup, aber wie zu entschlüsseln? Mein Telefon ist verschlüsselt. Wenn ich entscheide, nicht wie angewiesen zu verschlüsseln, wird es beendet. Wenn ich verschlüssle, kann ich nicht entschlüsseln. Also stecke ich fest. – Gerard

+0

Sorry, ich habe keine Ahnung, Sie können versuchen, Ihr Gerät root. Für den cp-Syntaxfehler ist es eigentlich derselbe Befehl wie cp in Linux. Es verwendet zwei Argumente und verschiedene Optionen. Siehe http://linux.die.net/man/1/cp. – suitianshi

2

Sie können die adb console verwenden. Schreiben Sie einfach adb root und dann adb connect <IP>

Danach können Sie den Datenordner öffnen.

0

Der Ordner /data/data wird im Datei-Explorer meines Android Geräte-Monitors (Android Studio 1.4) angezeigt. Zumindest für virtuelle Geräte.

0

Ich glaube, Sie verwenden API 24 oder höher, müssen Sie ein neues virtuelles Gerät erstellen wihch nicht API tut 24+