2009-12-02 12 views
14

Ich fühle mich ein bisschen blind auf einem Emulator für Android und nicht in der Lage, das Dateisystem auf dem AVD (.img) zu sehen.Gibt es eine Möglichkeit, Android .img zu mounten, um auf die Inhalte von AVD (Android Virtual Device) zuzugreifen?

Gibt es eine Möglichkeit, es in Windows oder Linux zu mounten, so dass ich zumindest die Dateiliste und vielleicht den Inhalt sehen könnte?

Bonus, wenn es auch mit Schreibrechten bereitgestellt wird.

Vielen Dank.

Antwort

11

Sie können einfach das Gerät in Linux montieren:

sudo mount -o loop ~/.android/avd/<myvirt>/sdcard.img <destdir> 
+0

Können Sie mit dieser Lösung schreiben? –

+2

Ja, es ist beschreibbar nach der Montage. (Ich mache es immer mit dem virtuellen Gerät heruntergefahren, aber ich bin mir nicht sicher, wie dies mit einem laufenden Emulator interagieren würde.) –

+0

Verifiziert beide als arbeiten. Brillant. –

4

Wie wäre es mit "adb Shell"?

Dies wird Ihnen eine Root-Shell (auf dem Emulator) ..

+0

Okay, das ist ein Anfang (obwohl so ein Schmerz in der a $$ auf Windows. TAB funktioniert nicht und es ist sehr primitiv). Gibt es einen Editor darauf? Ich habe versucht, vi, Emacs, Nano. –

+0

Sieht aus wie Katze ist mein bester Freund mit diesem primitiven System. Auch jemand schlug vor, busybox zu installieren, das vi darin hat, das ich versuchen kann. –

1

Ja, sie können montiert werden. Unter Ubuntu können Sie sdcard.img über vfat und system.img und userdata-qemu.img über yaffs2 mounten. Siehe auch: "Whats Android file system ??".

Beachten Sie, dass das Dateisystem yaffs2 nicht im Standard-Ubuntu-Kernel enthalten ist. Daher müssen Sie im Falle von Ubuntu einen eigenen Kernel mit yaffs2-Unterstützung erstellen, bevor Sie die system.img und die userdata-qemu.img mounten können. Alternativ können Sie sich auch die yaffs2utils ansehen, mit der Sie Dateien aus yaffs2-Bildern extrahieren oder neue Bilddateien erstellen können. Der Vorteil ist, dass Sie keinen eigenen Kernel für die Verwendung dieser Tools erstellen müssen.

2

Für Windows, ich lief nur über die ImDisk Virtual Disk-Treiber

dieses Dienstprogramm installieren, und Sie können dann sdcard.img montieren. Es gibt ein schönes Tutorial here

+0

Überprüft - funktioniert gut unter Windows. Danke, du hast meinen Tag gerettet. :) – lexicore

2

Für MacOS X:

$ hdiutil attach ~/.android/avd/Samsung_Nexus_S.avd/sdcard.img 
1

Eine andere Möglichkeit wäre es, die Datei-Explorer zu verwenden, in DDMS (Eclipse SDK) können Sie das gesamte Dateisystem sehen gibt und Download/Upload von Dateien an den gewünschten Ort. Auf diese Weise müssen Sie nicht auf Bilder aufsetzen und damit umgehen. Ich habe versucht, zu montieren und es ist umständlich, zum Beispiel, wenn der Emulator läuft, können Sie es nicht tun. Außerdem müssten Sie jedes Bild mounten, wenn Sie alle Inhalte sehen möchten.