O emulador do Android falhou ao alocar memória 8


157

Quando tento executar meu emulador WXGA800 a partir do Eclipse, está dando um erro como este

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.

Eu verifiquei os seguintes links também

Falha ao alocar memória: 8

Android: falha ao alocar memória

Eu tentei reduzir o tamanho da RAM no emulador e aumentar o tamanho e o tamanho do Java, mas ainda estou enfrentando o mesmo erro.


tente definir a resolução manualmente e use a capa incorporada.
Stever

Por favor, verifique minha resposta aqui: stackoverflow.com/a/14420779/1993898
Prymaldark

possível duplicata de Falha ao alocar memória: 8
Peter O.

Legal. Formulei essa mesma pergunta com menos eloqüência e fiz com que as pessoas votassem contra. Espero que haja uma ótima resposta aqui em algum lugar. Estou tentando emular o Samsung Galaxys com suporte a S-Pen, e todos eles estão excedendo também as habilidades do emulador.
Sinthia V

Respostas:


410

Atualização : a partir da versão 21 do Android SDK Manager, a solução é editar C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.inie alterar o valor

hw.ramSize=1024 

para

hw.ramSize=1024MB

API do Android 4.2 17

O emulador é muito lento, espero que eles liberem as imagens da intel em breveuse as novas imagens API17 Intel x86, se desejar alterá-las. ( HAXM , Configuração )


Versões anteriores do Android SDK Manager:

Teve o mesmo problema com a capa WXGA800 embutida. Eu trabalhei editando a configuração do dispositivo virtual para:

  • API de destino 4.0.3 API 15 / 4.1.0 16
  • Cartão SD 300MiB
  • Resolução 1280 x 800 (defina manualmente - não as internas)
  • Tamanho da ram de dispositivo 1024 MB (com MB adicionado ao número)
  • LCD 160 abstraído

Aqui minha configuração de tablet para API 4.1.0 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\

Essa configuração também mostra as chaves do software Captura de tela Emulador do Android 4.1 1280x800 @ 160


1
Eu me sinto um pouco idiota por não ter tentado isso antes :) Obrigado cara, você salvou minha vida!
Caiocpricci2

2
+1 Eu segui esse conselho e iniciei o emulador na linha de comando para que isso funcionasse. Espero que Xavier nos salve dessa loucura em breve ...
OceanLife 18/12

9
Eu cometi o erro desaparecendo, reduzindo a "Opção de memória: RAM" para 512 e definindo o tamanho do cartão SD para 300MiB.
Alguém em algum lugar

3
Sério, que bug estúpido ... / facepalm Pelo menos eu posso progredir agora! Obrigado!
usar o seguinte comando

2
Uau. isso é terrível. o SDK oficial e o kit de teste não lidam adequadamente com isso? você precisa editar os arquivos .ini manualmente e esse é o caso há quase um ano? isso é loucura.
Matt lohkamp

67

A seguinte solução funcionou para mim. No seguinte arquivo de configuração:

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

Substituir

hw.ramSize=1024

de

hw.ramSize=1024MB

1
Não sei por que, mas isso corrigiu. Obrigado
schar

1
Bom ponto, isso deve ser um bug ... Eu segui a convenção de arquivos e apenas usei um M, que também funcionou.
HGPB

17
Meio patético da parte do Google, sério. Eles não testam?
Cory Trese

+1 Isso funciona para mim. Talvez seja porque quando especifiquei o tamanho da ram, seleciono 1 GB.
Eng.Fouad

4
Em outra resposta, alguém afirmou que o "MB" não é realmente reconhecido e a alteração de 1024 para 1024MB reduz a memória para 256MB, o que é o padrão e, portanto, começa a funcionar. Fonte: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki

9

No meu caso, a solução foi mudar não apenas config.inimas também hardware.inipara a pele específica de hw.ramSize=1024para hw.ramSize=1024MB.

Para encontrar o hardware.iniarquivo:

  1. Abra o config.inie localize skin.path.
  2. Em seguida, navegue até a pasta em que o android sdk está localizado.
  3. Abrir o caminho, como este: android-sdk\platforms\android-15\skins\WXGA720.
  4. Dentro desta pasta, você localizará o hardware.ini.
  5. Mude hw.ramSize=1024para hw.ramSize=1024MB.

2
trabalhou para mim. Não sei por que as pessoas não gostam da sua resposta. Obrigado!
Veaceslav Gaidarji

5

Atualização: a partir da versão 21 do Android SDK Manager, a solução é editar C: \ Users \ .android \ avd \ .avd \ config.ini e alterar o valor

hw.ramSize = 1024 para

hw.ramSize = 1024MB

OU

hw.ramSize = 512MB


3

Esse erro é acionado se você definir a RAM do AVD para algo maior que o maior bloco de memória contínua que o emulador pode alocar. Feche qualquer coisa com muita RAM, inicie seu emulador, inicie tudo o que você precisa. Em uma resposta anterior, limitei isso a imagens x86 com IntelHAXM, mas esse é realmente o caso de todos os tipos de instâncias de emulador.


3

Na configuração do AVD: Altere a opção CPU / ABI para MIPS. Funcionou para mim


1

Eu tive o mesmo problema e o que acabou sendo o problema foi o tamanho da RAM: aparentemente 1024 (ou qualquer tamanho) é diferente de 1024MB. Certifique-se de especificar as unidades e elas devem funcionar para você.


1

Alterar o ramSize no arquivo config.ini não funcionou para mim.

Alterei o tamanho do cartão SD para 1000 MiB na janela Editar dispositivo virtual Android ... Funcionou! :)


Tem certeza de que sua resposta está relacionada ao problema? Porque o problema parece estar relacionado à RAM, o que não será alterado se alguém alterar o tamanho do cartão SD.
class stacker

0

Vá para editar dispositivos virtuais Android e altere o 1024 em Opções de memória para 768. Se ainda não funcionar, continue cada vez mais baixo.


0

Reduzir o tamanho da RAM nas configurações do AVD funcionou para mim. O AVD sendo lento pode consumir muita RAM, portanto, é possível mantê-lo no mínimo.



0

Tente isso se outras respostas não funcionaram para você.

Para mim Isso aconteceu com o API 27 Emulator.

O API 26 Emulator funcionou bem. Então, iniciei o API 26 Emulator primeiro e depois o fechei.

Então iniciei o API 27 Emulator e funcionou sem erros.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.