L'emulatore Android non è riuscito a allocare memoria 8


157

Quando provo a eseguire il mio emulatore WXGA800 da Eclipse, viene visualizzato un errore come questo

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Ho controllato anche i seguenti link

Allocazione della memoria non riuscita: 8

Android: impossibile allocare memoria

Ho provato a ridurre la dimensione della RAM nell'emulatore e ad aumentare l'heapsize e il ramsize di Java, ma sto ancora affrontando lo stesso errore.


prova a impostare la risoluzione manualmente invece usa la skin integrata.
Steve,

Si prega di controllare la mia risposta qui: stackoverflow.com/a/14420779/1993898
Prymaldark

possibile duplicato di Impossibile allocare memoria: 8
Peter O.

Freddo. Ho formulato questa stessa domanda in modo meno eloquente e ho fatto votare la gente. Spero che ci sia un'ottima risposta qui da qualche parte. Sto cercando di emulare i Samsung Galaxys con il supporto S-Pen e stanno anche superando le capacità dell'emulatore.
Sinthia V,

Risposte:


410

Aggiornamento : a partire da Android SDK Manager versione 21, la soluzione è modificare C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.inie cambiare il valore

hw.ramSize=1024 

per

hw.ramSize=1024MB

API 4.2 di Android 17

L'emulatore è molto lento, spero che rilasceranno presto le immagini di Intelutilizzare le nuove immagini Intel x86 API17 se si desidera modificarlo .. ( HAXM , Configurazione )


Versioni precedenti di SDK Manager per Android:

Ha avuto lo stesso problema con la skin WXGA800 integrata. Ho funzionato modificando la configurazione del dispositivo virtuale in:

  • Target 4.0.3 API 15 / 4.1.0 API 16
  • Scheda SD 300MiB
  • Risoluzione 1280 x 800 (impostato manualmente, non quelli integrati)
  • Dimensione della ram del dispositivo 1024 MB (con MB aggiunto al numero)
  • Estratto LCD 160

Qui il mio tablet config per 4.1.0 API 16 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

Questa configurazione mostra anche le chiavi del software Schermata Emulatore Android 4.1 1280x800 @ 160


1
Mi sento un po 'stupido per non averlo provato prima :) Grazie amico mi hai salvato la vita!
caiocpricci2,

2
+1 Ho seguito questo consiglio e poi ho avviato l'emulatore dalla riga di comando per farlo funzionare. Spero che Xavier ci salverà presto da questa debolezza ...
OceanLife,

9
Ho eliminato l'errore riducendo l'opzione "Memoria: RAM" a 512 e impostando le dimensioni della scheda SD su 300 MiB.
Qualcuno da qualche parte il

3
Seriamente, che stupido insetto ... / facepalm Almeno ora posso progredire! Grazie!
mrswadge,

2
Wow. è terribile. l'SDK e il kit di test ufficiali non lo gestiscono correttamente? devi modificare i file .ini a mano, e questo è il caso da quasi un anno? è folle.
Matt Lohkamp,

67

Questa seguente soluzione ha funzionato per me. Nel seguente file di configurazione:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

Sostituire

hw.ramSize=1024

di

hw.ramSize=1024MB

1
Non so perché, ma questo l'ha risolto. Grazie
schar il

1
Buon posto, questo deve essere un bug ... Ho seguito la convenzione sui file e ho appena usato una M, che ha anche funzionato.
HGPB,

17
Un po 'patetico da parte di Google, davvero. Non testano?
Cory Trese,

+1 Questo funziona per me. Forse è perché quando ho specificato la dimensione della ram ho selezionato 1 GB.
Ing

4
In un'altra risposta qualcuno ha affermato che "MB" non è effettivamente riconosciuto e che il passaggio da 1024 a 1024 MB in realtà riduce la memoria a 256 MB, che è l'impostazione predefinita e quindi inizia a funzionare. Fonte: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki

9

Nel mio caso, la soluzione era quella di cambiare non solo config.ini, ma anche hardware.iniper la pelle specifico hw.ramSize=1024ahw.ramSize=1024MB .

Per trovare il hardware.ini file:

  1. Apri il config.ini e trova skin.path.
  2. Quindi vai alla cartella in cui si trova Android SDK.
  3. Apri il percorso, in questo modo: android-sdk\platforms\android-15\skins\WXGA720 .
  4. All'interno di questa cartella troverai il hardware.ini .
  5. Cambia hw.ramSize=1024in hw.ramSize=1024MB.

2
ha funzionato per me. Non so perché alla gente non piaccia la tua risposta. Grazie!
Veaceslav Gaidarji,

5

Aggiornamento: a partire da Android SDK Manager versione 21, la soluzione è modificare C: \ Users \ .android \ avd \ .avd \ config.ini e modificare il valore

hw.ramSize = 1024 a

hw.ramSize = 1024MB

O

hw.ramSize = 512


3

Questo errore viene generato se si imposta la RAM AVD su qualcosa di più grande del singolo blocco più grande di memoria continua che l'emulatore è in grado di allocare. Chiudi qualsiasi RAM pesante, avvia l'emulatore, avvia tutto il necessario. In una risposta precedente l'ho limitato alle immagini x86 con IntelHAXM, ma in realtà è il caso di tutti i tipi di istanze dell'emulatore.


3

Nell'impostazione AVD: modificare l'opzione CPU / ABI su MIPS. Ha funzionato per me


1

Ho avuto lo stesso problema e quello che alla fine è stato il problema era la dimensione della RAM: apparentemente 1024 (o qualsiasi dimensione) è diversa da 1024 MB. Assicurati di specificare le unità e dovrebbe funzionare per te.


1

La modifica di ramSize nel file config.ini non ha funzionato per me.

Ho modificato le dimensioni della scheda SD a 1000 MiB nella finestra Modifica dispositivo virtuale Android ... Ha funzionato! :)


Sei sicuro che la tua risposta sia relativa al problema? Perché il problema sembra riguardare la RAM, che non cambierà se si cambiano le dimensioni della scheda SD.
impilatore di classe

0

Vai a modificare i dispositivi virtuali Android e cambia il 1024 in Opzioni memoria in 768. Se continua a non funzionare, continua ad andare sempre più in basso.


0

Ridurre la dimensione della RAM nelle impostazioni AVD ha funzionato per me. L'AVD essendo lento può consumare molta RAM, quindi è possibile mantenerlo al minimo.


0

Per la pelle rimuovere No Skin e aggiungere un po 'di pelle al suo interno

inserisci qui la descrizione dell'immagine


0

Prova questo se altre risposte non hanno funzionato per te.

Per me questo è successo per l'emulatore API 27.

L'emulatore API 26 ha funzionato bene. Quindi ho avviato prima l'emulatore API 26 e poi l'ho chiuso.

Quindi ho avviato API 27 Emulator e ha funzionato senza errori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.