2014-09-02 5 views
12

Mam aplikację, która zapisuje pliki tekstowe do pamięci wewnętrznej. Chciałbym przyjrzeć się dokładnie mojemu komputerowi.Jak znaleźć aplikację/dane/dane przy użyciu Eksploratora plików urządzenia Android

wpadłem Toast.makeText aby wyświetlić ścieżkę, to mówi: /data/data/mypackage

Ale kiedy idę do aplikacji Android Monitorze urządzenia Android Studio, nie widzę/data/dane w Eksploratorze plików. Więc gdzie są moje pliki?

Wiem, że istnieją, ponieważ mogę znaleźć na powłoce adb. Muszę przetłumaczyć dane/dane na ścieżkę widoczną w Eksploratorze plików, aby móc je łatwo pobrać. Dzięki!

+0

Czy Twój pakiet nie istnieje? jak dane/dane/pakiet? A to nie jest możliwe w przypadku kompilacji użytkownika. –

+0

Niezupełnie duplikat. Próbowałem tego wpisu SO, który był już połączony z poprzednim weekendem. Problem polega na tym, że kiedy używam ich polecenia cp, nie mogę go skopiować z adb na mój laptop. Próbowałem też użyć trasy kopii zapasowej, ale mój telefon jest zaszyfrowany i muszę wprowadzić moje hasło kryptograficzne, inaczej nie będzie kontynuowane. Staram się więc użyć aplikacji Android Device Monitor Android Studio, by wykonać pull. Ale ścieżka/dane/dane nie są wyświetlane. Dlatego właśnie zadaję to pytanie SO, w szczególności dotyczące ścieżki tłumaczenia/danych/danych do ścieżki, która znajduje odzwierciedlenie w Android Device Monitor Android. – Gerard

+0

Otworzyłem pytanie teraz :) –

Odpowiedz

5

Możesz sprawdzić, czy masz telefon zrootowany, ponieważ te foldery są prywatne dla aplikacji i zwykły dostęp jest ograniczony do takich folderów. Radziłbym, jeśli nie masz zrootowanego telefonu, a następnie zrób kopię swoich wewnętrznych folderów i zapisz je na karcie SD, aby sprawdzić zawartość. Innym sposobem jest zrootowanie telefonu lub użycie emulatora.

Oto kod można użyć do pisania kopię na zewnętrznym SDCard:

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

Miałem nadzieję, że nie muszę tego robić, ale biorąc pod uwagę okoliczność skopiowanie na kartę SD jest prostsze niż zrootowanie, aby dostać się do kilku plików. Dzięki. – Gerard

1

Zobacz this. Ponieważ/data/data to pamięć wewnętrzna dla samej aplikacji, tylko aplikacje z tym samym identyfikatorem użytkownika mogą ją uzyskać (lub jeśli nie masz zrootowanego urządzenia).

+0

Czy nie ma sposobu, aby zawartość mojej aplikacji pojawiła się w widocznej ścieżce do eksploratora plików urządzenia Android? Próbowałem już w zeszły weekend zarówno opcji 1 i 2 w twoim linku. Pierwszy dostaje mi błąd składniowy na cp. Drugi kończę z zaszyfrowaną kopią zapasową, ale jak odszyfrować? Mój telefon jest zaszyfrowany. Kiedy zdecyduję się nie szyfrować zgodnie z instrukcją, program zostanie zamknięty. Jeśli zaszyfruję, nie wiem, jak odszyfrować. Więc utknąłem. – Gerard

+0

Niestety, nie mam pojęcia, możesz spróbować zrootować swoje urządzenie. W przypadku błędu składni cp jest to w rzeczywistości to samo polecenie co cp w systemie Linux. Używa dwóch argumentów i różnych opcji. Zobacz http://linux.die.net/man/1/cp. – suitianshi

2

Możesz użyć adb console. Po prostu napisz adb root, a następnie adb connect <IP>

Następnie możesz otworzyć folder danych.

0

Folder /data/data jest wyświetlany w Eksploratorze plików na moim urządzeniu z Androidem (Android Studio 1.4). Przynajmniej na urządzenia wirtualne.

0

myślę używasz API 24 lub powyżej Musisz stworzyć nowe urządzenie wirtualne wihch nie API 24+