2009-12-02 16 views
14

Je me sens un peu aveugle en développement sur un émulateur pour Android et ne pas être en mesure de voir le système de fichiers sur l'AVD (.img).Existe-t-il un moyen de monter Android .img pour accéder au contenu AVD (Android Virtual Device)?

Y at-il un moyen de le monter dans Windows ou Linux, de sorte que je puisse au moins voir la liste des fichiers et peut-être le contenu?

Bonus s'il est également monté avec des autorisations d'écriture.

Merci.

Répondre

11

Vous pouvez simplement monter l'appareil sous Linux:

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

Pouvez-vous lui écrire avec cette solution? –

+2

Oui, il est inscriptible après le montage. (Je le fais toujours avec le périphérique virtuel arrêté, je ne sais pas comment cela pourrait interagir avec un émulateur en cours d'exécution.) –

+0

Vérifié comme travaillant. Brillant. –

4

Que diriez-vous de "adb shell"?

Cela vous donnera un shell root (sur l'émulateur) ..

+0

D'accord, c'est un début (même si une telle douleur dans le $$ sur Windows.TAB ne fonctionne pas et il est très primitif). Y a-t-il un éditeur disponible? J'ai essayé vi, emacs, nano. –

+0

On dirait que le chat est mon meilleur ami avec ce système primitif. Aussi quelqu'un a suggéré d'installer busybox qui a vi dedans, que je peux essayer. –

1

Oui, ils peuvent être montés. Sous Ubuntu, vous pouvez monter sdcard.img via vfat et system.img et userdata-qemu.img via yaffs2. Voir aussi: "Whats Android file system ??".

Notez que le système de fichiers yaffs2 n'est pas inclus dans le noyau Ubuntu standard. Ainsi, dans le cas d'Ubuntu, vous devez construire votre propre noyau avec le support de yaffs2 avant de pouvoir monter le system.img et le userdata-qemu.img. Alternativement, vous pouvez également jeter un oeil à la yaffs2utils qui vous permettent d'extraire des fichiers à partir d'images yaffs2 ou de créer de nouveaux fichiers image. L'avantage est que vous n'avez pas besoin de construire votre propre noyau pour utiliser ces outils.

2

Pour Windows, je viens de rencontrer à travers le ImDisk disque virtuel pilote

Installez cet utilitaire, et vous pouvez alors monter sdcard.img. Il y a un tutoriel bien here

+0

Vérifié - fonctionne bien sous Windows. Merci, vous avez sauvé ma journée. :) – lexicore

2

Pour les utilisateurs Mac OS X:

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

Une autre option serait d'utiliser l'explorateur de fichiers dans DDMS (Eclipse SDK), vous pouvez voir l'y tout le système de fichiers et télécharger/télécharger des fichiers à l'endroit désiré. De cette façon, vous n'avez pas à monter et à gérer les images. J'ai essayé de le monter et c'est encombrant, par exemple si l'émulateur fonctionne, vous ne pouvez pas le faire. De plus, vous auriez besoin de monter chaque image si vous voulez voir tout le contenu.