2010-04-20 7 views
17

Ho un problema strano con l'emulatore Android. Ho creato un dispositivo virtuale tramite Android AVD manager (emulatore appena creato con piattaforma 2.1 e livello API 7). Ho provato con le impostazioni standard e con parametri hardware aggiunti per dimensioni maggiori (256 MB) della RAM del dispositivo, ma nulla è cambiato.Partizione sistema di emulazione Android senza spazio dall'inizio

Ho bisogno di inviare i file alla partizione di sistema per testare un progetto (chiamato haggle), ma per qualche motivo la partizione di sistema non ha spazio dall'inizio.

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) 

Come si può vedere la partizione di sistema ha spazio 0K disponibile. Quando un collegare un HTC Nexus non radicata One e fare lo stesso io ottenere questi valori:

/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) 

Perché la partizione di sistema sull'emulatore hanno spazio 0K libera dall'inizio, e che cosa posso fare per cambiare la situazione? Anche se rendo la partizione scrivibile con mount/remount ottengo gli stessi valori 0K.

Qualche consiglio?

risposta

28

trovato la risposta :)

Quando si avvia l'emulatore è possibile specificare la dimensione della partizione da PARTITION-size x emulator_name.

fatto attraverso il terminale che è. Esempio:

emulator -partition-size 125 @AVD1 

O

emulator -partition-size 125 -avd AVD1 

Si noti che la dimensione deve essere più grande della dimensione della partizione di sistema corrente. Per l'emulatore Android4.0.3 la dimensione predefinita è già 168 quindi impostare la nuova dimensione della partizione su qualcosa di più grande come 256

+0

Perché questo non è documentato da nessuna parte ??? Buon lavoro e grazie mille per averlo trovato! – Felix

+6

un modo per farlo attraverso l'AVD Manager? – vanevery

+0

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

0

Ho trovato il problema. La cartella SDK_MANAGER era all'interno di una directory caratteri non standard nel mio disco D (D:/ასერ/?dwe + joan/SKD_MANAGER) e questo è il motivo per cui riusciti a trovare la dimensione della partizione corretta. Ho spostato ** SDK_MANAGER * in D:/** SDK_MANAGER * e ho risolto il problema!

(così, chi ha i messaggi di errore come "dimensione di sistema non valido della partizione" o "panick: non poteva aprire avd1", questo post potrebbe aiutare)

3

Al giorno d'oggi, -partition-size cambia il/Sistema/partizione dati, ma non lo spazio della partizione/system.

Se si desidera installare il pieno Gapps, per esempio, avrete bisogno di più spazio.

La procedura generale di farlo in Unix è documentato a https://unix.stackexchange.com/questions/104790/how-to-setup-a-growable-loopback-device

In breve:

  1. Eseguire una copia di system.img in modo da non modificare l'originale in SDK (cp system.img system-extended.img)
  2. Far crescere il vostro system-extended.img alla dimensione desiderata (ad esempio,, truncate system-extended.img -s 2G)
  3. ridimensionare il file system ext4 interno (resizefs system-extended.img)
  4. Utilizzare il nuovo file img quando si chiama l'emulatore tramite il parametro -system <path/to/system-extended.img>. Il parametro -writable-system potrebbe anche rivelarsi utile per te.