2010-04-20 17 views
17

J'ai un problème étrange avec l'émulateur Android. J'ai créé un périphérique virtuel via le gestionnaire AVD Android (émulateur nouvellement créé avec la plate-forme 2.1 et le niveau 7 de l'API). J'ai essayé avec les paramètres standard et avec le paramètre matériel supplémentaire pour la plus grande taille de RAM de périphérique (256 MB) mais rien n'a changé.Partition Android du système d'émulation pas d'espace depuis le début

Je dois venir à la partition système pour tester un projet (appelé haggle), mais pour une raison quelconque, la partition système n'a pas d'espace pour démarrer.

aa [email protected] /home/haggle-0.2-android 
$ adb -s emulator-5554 shell 

# df 
df 
/dev: 47084K total, 0K used, 47084K available (block size 4096) 
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096) 
/system: 73600K total, 73600K used, 0K available (block size 4096) 
/data: 65536K total, 18464K used, 47072K available (block size 4096) 
/cache: 65536K total, 1156K used, 64380K available (block size 4096) 

Comme vous pouvez le voir, la partition système dispose d'un espace 0K disponible. Lorsqu'un connecter un HTC non enraciné Nexus One et faire la même chose que j'obtenir ces valeurs:

/dev: 108896K total, 0K used, 108896K available (block size 4096) 
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096) 
/system: 148480K total, 116364K used, 32116K available (block size 4096) 
/data: 200960K total, 22296K used, 178664K available (block size 4096) 
/cache: 97280K total, 1852K used, 95428K available (block size 4096) 
/sdcard: 3864064K total, 118496K used, 3745568K available (block size 32768) 

Pourquoi la partition système sur l'émulateur ont un espace 0K libre du début, et que puis-je faire pour changer cela? Même si je rends la partition accessible en écriture avec mount/remount, j'obtiens les mêmes valeurs de 0K.

Des conseils?

Répondre

28

trouvé la réponse :)

Lors du démarrage de l'émulateur, vous pouvez spécifier la taille de la partition par -partition taille x emulator_name.

fait par le terminal qui est. Exemple:

emulator -partition-size 125 @AVD1 

OU

emulator -partition-size 125 -avd AVD1 

Notez que la taille doit être plus grande que la taille de votre partition système actuel. Pour l'émulateur Android4.0.3, la taille par défaut est déjà de 168, donc définissez votre nouvelle taille de partition à quelque chose de plus grand comme 256

+0

Pourquoi cela n'est-il pas documenté? Bon travail et merci beaucoup de le trouver! – Felix

+6

un moyen de le faire via le gestionnaire AVD? – vanevery

+0

Alt syntaxe: emulator -partition-size 125 -avd AVD1 –

0

J'ai trouvé le problème. Le dossier SDK_MANAGER se trouvait dans un répertoire de caractères NON STANDARD de mon disque D (D:/ასერ/?dwe + joan/SKD_MANAGER) et c'est pourquoi il ne pouvait pas obtenir la taille de partition correcte. J'ai déplacé ** SDK_MANAGER * vers D:/** SDK_MANAGER * et le problème a été résolu!

(donc, qui a les messages d'erreur comme « la taille de la partition système non valide » ou « panick: n'a pas pu ouvrir avd1 », ce poste pourrait aider)

3

De nos jours, -partition-size modifie le/système/partition de données, mais pas l'espace de partition/système.

Si vous voulez installer les GApp complets, par exemple, vous aurez besoin de plus d'espace.

La procédure générale de le faire sous Unix est documenté à https://unix.stackexchange.com/questions/104790/how-to-setup-a-growable-loopback-device

En bref:

  1. Faire une copie de system.img afin que vous ne modifiez pas l'original dans le SDK (
  2. Développez votre system-extended.img à la taille désirée (p.ex., truncate system-extended.img -s 2G)
  3. Redimensionner le système de fichiers ext4 intérieur (resizefs system-extended.img)
  4. Utilisez le nouveau fichier img lorsque vous appelez l'émulateur via le paramètre -system <path/to/system-extended.img>. Le paramètre -writable-system peut également vous être utile.