Android Eclipse DDMS - Kann nicht auf Daten / Daten / auf dem Telefon zugreifen, um Dateien abzurufen


77

Beim Testen meiner Apps verwende ich Emulatoren und mein eigenes Telefon, um festzustellen, ob alles in Ordnung ist. Meine Apps schreiben auch Daten in freigegebene Einstellungen und eine Textdatei.

Ich kann die Daten von meinen Emulatoren durch die DDMSIn-Eclipse ziehen, damit ich die Datendateien auf meinem Computer lesen kann, aber wenn ich versuche, diese Ordner über die DDMSauf meinem Telefon zu öffnen , passiert nichts. Ich klicke auf den Datenordner und nichts passiert.

Mein Telefon ist gerootet. Kann ich die Dateien auf irgendeine Weise von meinem Telefon abrufen? Ich weiß, dass Android diese Ordner privat hält, aber es muss einen Weg geben. Der Emulator ist einfach viel zu langsam.


4
Wie mache ich das auf einem nicht gerooteten Telefon?
Likejudo

Ich denke nicht, dass dies möglich ist, wenn man bedenkt, dass Sie die Dateisystemberechtigungen für diese Dateien / Ordner ändern müssen. Dies ist ohne ein gerootetes Gerät nicht möglich.
Dell116

Antworten:


160

Auf gerooteten Geräten können Sie Folgendes tun:

  1. Öffnen Sie cmd
  2. Art adb shell
  3. su
  4. Drücken Sie auf dem Gerät auf "Zulassen"
  5. chmod 777 /data /data/data /data/data/com.application.package/data/data/com.application.package/*
  6. Wechseln Sie in Eclipse zur DDMS-Ansicht

Danach sollten Sie in der Lage sein, die Dateien auf dem Gerät zu durchsuchen.

So erhalten Sie die Datenbanken:

  1. chmod 777 /data/data/com.application.package/databases /data/data/com.application.package/databases/*

Wenn es wieder permission deniedaufsu

Zum Settings> Developer Options> Root access>Apps and ADB


Endlich .... das funktioniert! Fast ein Jahr später kommt Peceps durch. Ich vermute also, dass dieses Problem mit den Dateisystemberechtigungen zu tun hat?
Dell116

3
@Praveenb, ich hatte das gleiche Problem, aber dann wiederholte ich den obigen Befehl chmod mit zusätzlichen Ordnern: /data/data/com.application.package/databases /data/data/com.application.packages/databases/*
Tom

6
@peceps: Mein Telefon ist nicht gerootet. Der Befehl in Schritt 3 funktioniert bei mir nicht. Es heißt, die Erlaubnis wurde verweigert. Es gibt kein "Zulassen" im Gerät.
Ashwin

3
Verwenden Sie chmod -R 777 /data/data/, um diesen Befehl rekursiv anzuwenden
Konstantin Milyutin

2
Ich erhalte "su: not found", wenn ich versuche, su nach "adb shell" auszuführen. (Ich benutze ein nicht verwurzeltes Telefon)
Sarang

6

Niemand scheint zu verstehen, dass ein Nexus One für den Einzelhandel auch nach dem Rooten das Durchsuchen des Dateisystems mit DDMS File Explorer nicht zulässt. Wir sprechen hier von echten Telefonen und nicht vom Emulator. Wenn Sie zufällig ein Nexus One Developer Phone haben, können Sie das Dateisystem mit DDMS Filer Explorer durchsuchen, ein Nexus One für den Einzelhandel, das gerootet wurde, ist jedoch nicht möglich. Ich habs?

Daher hoffe ich, dass dies die Frage beantwortet, ob der DDMS-Datei-Explorer nicht zum Durchsuchen des Dateisystems eines verwurzelten Einzelhandels-Nexus One verwendet werden kann. Nach dem Rooten eines Nexus One für den Einzelhandel bleibt noch etwas zu tun, um mithilfe von DDMS den Datei-Explorer zum Durchsuchen des Dateisystems des Telefons zu verwenden. Ich weiß nicht was es ist. Vielleicht weiß es jemand anderes.


Amen, Bruder. Ich würde sicher gerne wissen, was zum Teufel Root Explorer tut, um dort
hineinzukommen

7
Dies ist ein Kommentar, keine Antwort.
Chris Stratton

4

Wenn "Erlaubnis verweigert" auf ADB-Shell gibt -> su ...

Einige ROMs führen den adbd-Daemon im sicheren Modus aus (adbd hat keinen Root-Zugriff und der Befehl su zeigt nicht einmal den Dialog zum Abfragen von Berechtigungen auf dem Gerät an). In diesem Fall erhalten Sie "Berechtigung verweigert", wenn Sie cmd -> adb shell -> su ausprobieren. Die Lösung, die ich gefunden habe, ist eine App des berühmten Modder Chainfire namens Adbd Insecure.


1
Gehen Sie in CyanoGenMod zu Setup -> Entwickleroptionen -> Root-Zugriff und wechseln Sie zu 'adb and apps' (Standard ist 'apps')
JRun

3

Sie müssen die Berechtigung des Datenordners bearbeiten.

Ich benutze die App "Root Explorer" (siehe Markt) im Root-Modus.

Wählen Sie oben "Monunted as r / w".

Drücken Sie dann auf den Datenordner (langer Klick) und suchen Sie die Option Berechtigung

Haben Sie so etwas

        read    write  execute

Nutzer

Gruppe

Andere

Stellen Sie sicher, dass "Andere" einen Lesecheck haben

Dann gehen Sie zu Eclpse und versuchen Sie es erneut.

Entschuldigung für mein Englisch, ich hoffe, ich kann Ihnen helfen.


1
Das ist extrem unklug!
Chris Stratton

2

So legen Sie die Berechtigung für den dataOrdner und alle zugehörigen Unterordner und Dateien fest:
Öffnen Sie die Eingabeaufforderung im ADB-Ordner:

>> adb shell
>> su
>> find /data -type d -exec chmod 777 {} \;

2

Viel einfacher als messing around with permissionsim Android FS (was sich
für mich immer wie ein Hack anfühlt - weil ich glaube, dass es eine Art von geben muss integrated way) ist nur zu:

Erlaube ADB root accessund Restart the deamonmit root permissions.

  1. Stellen Sie zunächst sicher, dass ADB Root-Zugriff auf Ihr Gerät (oder Ihren Emulator) haben kann:
    ( Settings-> Developer Options-> Root-Access for ADBoder Apps & ADB.
  2. Starten Sie den ADB-Service mit Root-Berechtigungen neu:
    Öffnen Sie a command promptund geben Sie Folgendes ein:adb.exe root
  3. Starten Sie ADM (Android Device Manager) neu:
    EnjoyDurchsuchen Sie alle Dateien
  4. So negieren Sie diesen Vorgang:
    Geben Sie adb.exe unrootIhre ein command prompt.

@ János Vielleicht ist es verwandt, weil ich CyanogenMod
Cadburry

1

Obwohl es etwas zu spät ist, dies zu beantworten, lasse ich das, was für mich funktioniert hat.

Die Lösung von Peceps funktionierte nicht, da die SuperUser-App "Shell" keinen Root-Zugriff erlaubte. Meine Lösung besteht also darin, direkt eine andere App wie RootExplorer zu verwenden und die Ordner darin zu durchsuchen.


1
Ich muss sagen, dass von allen Antworten, in denen ADB-Befehle aufgelistet, Berechtigungen geändert und mit DDMS herumgespielt wurden, ich einen ganzen Abend verschwendet habe (den ich hätte Fußball gucken können) ... dies die einzige, beste und einfachste Lösung war das hat mir tatsächlich erlaubt, meine Datenbank zu lesen. Viel Respekt und Dank.
SimonH

1

Wenn es " Berechtigung verweigert " auf adb Shell zurückhält -> su ...

Gehen Sie zu "Entwickleroptionen" -> Root-Zugriff -> "Apps und ADB"


Ich benutze HTC und kann anscheinend keinen Root-Zugriff in der Entwickleroption finden
Pankaj Nimgade

0

Wenn ich Dateisystem sage, meine ich das gesamte Dateisystem. Sie können jedoch nur einen Teil des Dateisystems auf einem Telefon im Einzelhandel durchsuchen, möglicherweise sogar den größten Teil des Dateisystems, jedoch nicht ./data. Entschuldigen Sie etwaige Unklarheiten.

Dies ist für mich alarmierend, da ich ein Nexus One für meinen Einzelhandel und ein Entwickler / freigeschaltetes Nexus One verwurzelt habe. Da ich mein Nexus One im Einzelhandel gerootet habe, kann ich nicht herausfinden, warum ich nicht das gesamte Dateisystem wie auf meinem Entwickler Nexus One durchsuchen kann.


-3

Wenn Sie dies auf Ihrem Telefon tun müssen, verwende ich einen Terminalemulator und Standard-Linux-Befehle.

Beispiel:

  1. su
  2. CD-Daten
  3. cd com.yourappp
  4. ls oder cd in cache / shared_prefs

http://www.appbrain.com/app/android-terminal-emulator/jackpal.androidterm


Nein, das musst du nicht tun.
Octavian A. Damiean

3
@ Octavian - Sie sagen mir, dass Sie Dateien von einem echten Telefon, nicht von einem Emulator, über den Datei-Explorer im DDMS abrufen können? Immer wenn ich im Datei-Explorer auf den Ordner "Daten" klicke, wird der Baum nicht ausgefüllt. Ihre Antwort unten funktioniert nur, wenn ich einen Emulator verwende, kein echtes Telefon.
Dell116

1
Wenn Sie auf den Datenordner zugreifen müssen, müssen Sie gerootete Geräte verwenden.
Siddharth_Vyas
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.