Por que o emulador do Android é tão lento? Como podemos acelerar o emulador do Android? [fechadas]

3399

Eu tenho um   processador Celeron de 2,67 GHz e 1,21   GB de RAM em um Windows XP x86 máquina Professional .

Meu entendimento é que o emulador do Android deve ser iniciado rapidamente em uma máquina dessas, mas para mim isso não acontece. Eu segui todas as instruções na configuração do IDE, SDKs, JDKs e outros e obtive algum sucesso ao iniciar o emulador rapidamente, mas isso é muito raro. Como posso, se possível, corrigir esse problema?

Mesmo que inicie e carregue a tela inicial, é muito lento. Eu tentei o Eclipse IDE na versão 3.5 (Galileo) e 3.4 (Ganymede).

Peter Mortensen
fonte
79
Alternativo é Genymotion. genymotion.com . Isso é muito mais rápido. Instalação simples.
Sukitha Udugamasooriya
9
Eu encontrei o emulador para rodar muito (e por isso quero dizer waaaay) mais rápido no linux. Eu tenho um laptop com dualboot, no Windows o emulador leva cerca de 15 minutos para iniciar, com o Linux cerca de 30 segundos. Não conheço outros sistemas operacionais como o OSX, mas me parece uma coisa do Windows.
Daniël van den Berg
11
É relatado que o Android Studio 2.0 não apenas possui um emulador muito mais rápido, como também emprega "execução instantânea", o que permite que certas alterações em sua origem, como o XML, sejam implantadas em segundos no destino, sem que o APK precise ser reconstruído e reimplantado. Veja android-developers.blogspot.co.uk/2015/11/…
Carl Whalley
12
Eu acho que sua memória RAM é muito pequena para um emulador correr mais rápido.
Zia U Rahman
5
Uma maneira de evitar comentários confusos pode ser ter uma pequena caixa de aviso dizendo que a pergunta é mais antiga do que, por exemplo, 2 anos. A tecnologia está mudando rapidamente e você deseja que a idade afete a classificação, mesmo que a pergunta não deva ser fechada / arquivada como em sites menores.
21717 Henrik Erlandsson

Respostas:

1436

Atualizar

Agora você pode ativar a opção Inicialização rápida para o emulador do Android. Isso salvará o estado do emulador e iniciará o emulador rapidamente na próxima inicialização.

Clique no botão de edição do emulador e clique em Show Advanced Setting. Em seguida, ative Quick Bootcomo a captura de tela abaixo.

Inicialização rápida

Ferramentas de desenvolvimento do Android (ADT) 9.0.0 (ou posterior) têm um recurso que permite salvar o estado do AVD (emulador) e você pode iniciar seu emulador instantaneamente. Você precisa habilitar esse recurso enquanto cria um novo AVD ou pode criá-lo mais tarde editando o AVD.

Também tenho aumentado a Device RAM Sizepara1024 o que resulta em um emulador muito rápido.

Consulte as capturas de tela abaixo para obter mais informações.

Criando um novo AVD com o recurso de salvar instantâneo.

Emulador Android com o recurso de salvar instantâneo.

Iniciando o emulador a partir do instantâneo.

Iniciando o emulador a partir do instantâneo.

E para acelerar o seu emulador, você pode consultar Acelerar o seu emulador do Android! :

Vikas Patidar
fonte
23
Quando você atualizar e dispositivo existente, limpe os dados do usuário na primeira inicialização do instantâneo
Mark Bakker
16
Defino o AVD como este, mas ainda parece lento quando reinicio o AVD, por quê?
Zhongshu
9
@ Peter Ehrlich: Vá para Window> Android SDK e AVD Manager e selecione AVD que deseja iniciar na lista e clique no botão Iniciar no painel direito. Ele abrirá o mesmo que você deseja.
Vikas Patidar
3
Eu recebi "Falha ao alocar memória" ao definir 1024. Ele também exibia um aviso na parte inferior da janela de configuração dizendo: "No Windows, a emulação de RAM maior que 768M pode falhar dependendo de ..." Tentei configurá-lo para 770 e então funcionou. Ele falhou defini-la para 800.
temor
5
@ Msmit1993: Você pode usar o emulador baseado em Intel x86 com a ferramenta HAX. Acredite, você ficará surpreso com o emulador mais rápido que o seu dispositivo real.
Vikas Patidar
1135

NOTA IMPORTANTE : Primeiro, consulte a lista da Intel sobre VT para garantir que sua CPU seja compatível com Intel VT.

HAXM acelera o emulador lento do Android

HAXM significa - "Intel Hardware Accelerated Execution Manager"

Atualmente, ele suporta apenas Intel® VT (Intel Virtualization Technology).

O emulador do Android é baseado no QEMU . A interface entre o QEMU e o driver HAXM no sistema host foi projetada para ser independente do fornecedor.

HAXM

Etapas para configurar seu ambiente de desenvolvimento Android para HAXM

  1. Atualizar Eclipse: verifique se a instalação do Eclipse e o plug-in ADT estão totalmente atualizados.

  2. Atualize suas ferramentas do Android: após cada atualização do plug-in do Eclipse, é importante atualizar as ferramentas do Android SDK. Para fazer isso, inicie o Android SDK Manager e atualize todos os componentes do Android SDK. Para aproveitar o HAXM, você deve estar no mínimo na versão 17.

Digite a descrição da imagem aqui

  • Faça o download das imagens do sistema Atom x86 e do driver do Intel Accelerated Execution Manager . Siga a imagem abaixo:

Digite a descrição da imagem aqui

  • Instale o driver HAXM executando "IntelHaxm.exe". Ele estará localizado em um dos seguintes locais:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Se o instalador falhar com a mensagem de que o Intel VT deve estar ativado, é necessário habilitá-lo no BIOS . Veja a descrição de como fazer isso em Habilitando o Intel VT (Virtualization Technology) .

Instale .exe ou .dmg

  • Crie um novo x86 AVD: Siga a imagem abaixo:

Criar AVD

  • Ou, como no novo SDK, Digite a descrição da imagem aqui
Prashanth Sams
fonte
19
Boa redação. Se você está procurando documentos do Google (inclui algumas diferenças no Mac), eles podem ser encontrados aqui: developer.android.com/tools/devices/emulator.html#accel-vm
Todd Price
103
Não funciona no Linux.
Kshitiz Sharma
14
Eu tentei esta solução. Funcionou. No entanto, eu instalei usando o MonoDroid e não consegui encontrar o IntelHaxm.exe por um minuto. Foi aqui: C: \ Users \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel
Rhyous
11
Uau, não posso agradecer o suficiente! Não posso acreditar que eu estava vivendo com o emulador lento esse tempo todo. Eu pensei que isso era normal. Eu realmente sinto falta dos tempos de inicialização rápidos, não existe uma maneira de ativar o snapshot junto com a aceleração da GPU?
Reda
3
Isso funciona muito bem. Muito obrigado por compartilhar isso! Quando "Usar GPU do host" está ativado, o emulador fica tremendo, mas também sem o GPU do host ativado, é realmente rápido agora.
user1619275
595

Experimente o Android x86 . É muito mais rápido que o emulador do Google Android. Siga esses passos:

  1. Instale o VirtualBox .
  2. Faça o download do arquivo ISO necessário.
  3. Crie uma máquina virtual como Linux 2.6 / Outro Linux, 512 MB de RAM, HD 2 GB. Rede: PCnet-Fast III, conectado ao NAT . Você também pode usar um adaptador em ponte, mas precisa de um DHCP servidor em seu ambiente.
  4. Instale o Android x86 no emulador, execute-o.
  5. Pressione Alt+ F1, digite netcfg, lembre-se do endereço IP, pressione Alt+F7 .
  6. Execute o cmd no seu sistema Windows XP, altere o diretório para o diretório de ferramentas do Android, digite adb connect <virtual_machine_IP> .
  7. Inicie o Eclipse, abra o plug-in ADT, encontre o dispositivo e divirta-se!
Pehat
fonte
6
então eu liguei. Como faço para que a tela fique na vertical? Também não vejo os botões de hardware do telefone em lugar algum.
2028 Alex
4
Apenas para lembrar a vocês que você precisa habilitar a integração do mouse no menu do dispositivo, se você quiser usar o mouse no emulador!
Kakopappa
13
Observe que, se você estiver usando algo específico do ARM (como o Mono para Android, por exemplo), ele não funcionará no Android x86.
Matthew Groves
11
Para mim, o netcfg está exibindo 127.0.0.1 255.0.0.0 0x00000049 Aqui está o IP 127.0.0.1 que devo mencionar no comando adb? está mostrando "não é possível conectar-se ao 127.0.0.1:5555" Por favor, ajude.
Riz 16/10
318

ATUALIZAÇÃO: A versão mais recente do Android studio (2.x) fez grandes melhorias no emulador incluído. É responsivo e tem um monte de recursos.

Para aqueles que ainda estão interessados: tente usar o Genymotion . Você pode baixar uma versão para Windows / Mac OS X / Linux após o registro. Um plugin para Eclipse também está disponível:

A instalação do plug-in pode ser feita iniciando o Eclipse e indo para o menu "Ajuda / Instalar Novo Software" e, em seguida, adicione um novo Site de Atualização com o seguinte URL: http://plugins.genymotion.com/eclipse . Siga as etapas indicadas pelo Eclipse.

Este emulador é rápido e responsivo.

O GenyMotion permite controlar vários sensores do seu dispositivo, incluindo o nível da bateria, força do sinal e GPS. A versão mais recente agora também contém ferramentas de câmera.

blaffie
fonte
52
O Genymotion é de longe a melhor maneira de desenvolver / testar seu aplicativo. Não é apenas mais rápido e melhor que um emulador tradicional. É mais rápido que um dispositivo real também. Eu o uso em 99,99% das minhas implantações, pois significa que posso ver os resultados em uma fração do tempo. Isso também significa que posso usar o OpenGL ES e outras coisas que não estão disponíveis em um emulador normal.
Eurig Jones
2
As versões mais recentes do Genymotion não incluem os serviços GooglePlay. Este link mostra como instalá-los manualmente: forum.xda-developers.com/showthread.php?t=2528952
Apfelsaft
2
Tudo bem até você reinstalar o VBox ou qualquer uma das ferramentas que eles usam, e ele pára de funcionar - a desinstalação não ajuda. Mas foi bom enquanto durou.
milosmns
5
Genymotion não é mais livre (como era quando eu o usei última vez), não tenho certeza se isso ainda é a melhor escolha para os desenvolvedores
Zain Ali
6
Desde o Android studio 2, o emulador foi aprimorado dez vezes. Possui muitos recursos e apresenta um bom desempenho.
blaffie
213

O emulador incluído na sua versão (antiga) do Eclipse é muito lento.

Emuladores recentes são mais rápidos do que costumavam ser em 2010. Atualize seu SDK / IDE.

Pessoalmente, uso um telefone real para fazer meus testes. É mais rápido e os testes são mais realistas. Mas se você quiser testar seu aplicativo em várias versões diferentes do Android e não quiser comprar vários telefones, precisará usar o emulador de tempos em tempos.

Nicolas Raoul
fonte
1
O vmware é executado com uma diferença de desempenho despercebida em comparação com a máquina real. Mesmo que o emulador esteja emulando o ARM, ele deve ser mais rápido, mesmo na mesma frequência do sistema e meu PC é de 3,6 GHz, mais lento que o telefone Android de 500 MHz.
NickSoft 11/03/12
@rds - Então, meu AVD deve emular intel em vez de ARM para que ele carregue mais rapidamente?
Trojan.ZBOT
Não, isso não é otimizado para x86 ... ele emula hardware do telefone x86 - enquanto o telefone comum supera hoje facilmente a máquina em questão :)
Martin Zeitler
Você percebe que ambos executam o mesmo emulador, certo? android-sdk \ tools \ emulator-x86.exe, nada a ver com o Eclipse, você provavelmente começou a usar imagens Intel x86 com o Intel HAXM.
precisa saber é o seguinte
Bem, comparado com a velocidade com que eles retornam nos dias em que passam na velocidade da luz agora.
Bolling
138

A inicialização do emulador é muito lenta. O bom é que você só precisa iniciar o emulador uma vez. Se o emulador já estiver em execução e você executar o aplicativo novamente, o emulador o reinstalará relativamente rápido. Obviamente, se você quiser saber com que rapidez ele será executado em um telefone, é melhor testá-lo em um telefone real.

Jay Askren
fonte
40
Se demorar algumas horas, provavelmente há algo mais errado. Leva apenas alguns minutos para mim.
Jay Askren
qual é a sua configuração de hardware e sistema operacional?
Junior Mayhé
@Júnior Mayhe: programei para Android usando Windows, Mac e Linux. Eu uso o Mac com mais frequência no momento. Os computadores que usei têm 2 a 4 GB de RAM e um processador de 2 a 3 ghz bastante moderno. Em todos os casos, parece levar alguns minutos para iniciar o emulador, mas a reinstalação do aplicativo é bastante rápida.
Jay Askren
3
@ user286101: carregar um novo apk em um emulador já em execução não leva mais de 10 segundos no meu laptop antigo (dual core de 1,6 Ghz, 1 GB de RAM), o único problema é que muitas vezes esqueci de deixar o emulador em execução, então tive que passar por o processo de reinicialização lenta (que leva 3-5 minutos).
Lie Ryan
O @LieRyan "não deve demorar mais de 10 segundos", infelizmente, é o momento de um projeto C ++ de tamanho semelhante nas máquinas de hoje.
kizzx2
129

A Intel lançou instruções de instalação recomendadas para o emulador ICS em 15 de maio de 2012. Isso funcionou para mim. O emulador agora é rápido e a interface do usuário é suave.

A primeira metade das instruções é detalhada o suficiente, portanto, assumirei que você foi capaz de instalar as Imagens do sistema Intel x86 Atom usando o gerenciador de SDK do Android e o Intel HAXM.

Agora, para garantir que todo o resto esteja configurado para que você possa desfrutar de um emulador de alto desempenho:

E inicie-o:

sudo kextload -b com.intel.kext.intelhaxm (mac)

Se o HAXM estiver funcionando corretamente, você poderá ver esta mensagem ao iniciar o emulador:

O HAX está funcionando e o emulador é executado no modo virtual rápido

Caso contrário, você poderá ver este erro:

O HAX não está funcionando e o emulador é executado no emulador do modo de emulação:
falha ao abrir o módulo hax

  • Use emulação de GPU. Você não pode usar a opção Instantâneo ao usar a emulação de GPU até o momento da redação. Verifique se a emulação de GPU está definida como "sim".

  • Defina a memória do dispositivo para 1024 MB ou mais , mas não mais que a configuração Intel HAXM. Eu uso 1024 MB por dispositivo e 2048 para HAXM.

Sempre verifique as configurações depois de salvar! O emulador é muito exigente com o que permite definir e reverterá as configurações sem avisar.

Com essas configurações, o teclado do software não aparece mais, nem as teclas de voltar na tela, menu e teclas recentes. Isso parece ser uma limitação da imagem atual do sistema ICS Intel x86. Você precisará usar os atalhos do teclado .

No Mac OS, você precisará pressionar fn+ controlpara que as teclas F1- F12funcionem. A página para cima / baixo / esquerda / direita pode ser executada usando as teclas de controle + seta.

James Wald
fonte
Tenha cuidado ao usar uma máquina virtual com Intel HAXM. Aparentemente, o ambiente virtual pode ficar corrompido se a memória do sistema estiver esgotada.
James Wald
android-dev.ro/web/guest/home Esta é outra boa instrução passo a passo para configurar um HAXM x86 AVD no Eclipse. Além disso, explica como configurar as APIs do Google.
sulai 15/10/12
2
Não tenho certeza se sou eu que estou fazendo algo errado, mas segui atentamente o guia e obtive: "O HAX está funcionando e o emulador é executado no modo virt rápido", pouco antes do dispositivo ser iniciado, mas ... na verdade, ele carrega ainda mais lentamente que a versão original do braço . Estou no Mac e a CPU suporta VT.
Jayarjo
4
Esta é a resposta certa. Tenho o processador Intel x86 instalado e a GPU ativada. O emulador é muito responsivo e suave com essas configurações. FINALMENTE ! Se precisar de ajuda para configurá-lo no Windows ou Mac, entre em contato. Adios all
Tony
2
Obrigado por isso, testado no Windows 7 Pro, intel core i7 3770 e funciona. No Windows, o Gerenciador de execução acelerada por hardware Intel (HAXM) só precisa ser instalado; ele será iniciado automaticamente. Basta criar uma AVD com Intel Atom x86 e garantir 'GPU uso de acolhimento' é selecionado
gerrytan
111

Você pode criar emulator.bat com o seguinte comando para iniciar o emulador. Começará mais rápido.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

Ou no Unix (sabores Mac ou Linux):

emulator -cpu-delay 0 -no-boot-anim @<avd name>
andgps
fonte
A adição -no-boot-animreduziu o tempo de inicialização em cerca de 38%. Obrigado!
Timothy003
3
(Estúdio Android) Selecione Run> Editar Configurações ... . No painel esquerdo da caixa de diálogo Configurações de execução / depuração , selecione ou crie uma configuração. Em Opções do dispositivo de destino , selecione AVD. Em Emulator guia, entrar -no-boot-animem opções de linha de comandos adicionais de campo
Ivan Chau
103

Percebi que o emulador inicia muito mais rapidamente se não houver um DDMS (Dalvik Debug Monitor Server) conectado. Portanto, se você iniciar o emulador no Virtual Device Manager "SDK Setup.exe" e o Eclipse não for iniciado, o emulador funcionará mais rápido.

Se você iniciar o emulador a partir do Eclipse: o DDMS está lá, às vezes o emulador é extremamente lento, mas às vezes é mais rápido.

Peter Mortensen
fonte
2
@Shekhar: DDMS = Servidor de Monitor de Depuração Dalvik
Lie Ryan
se rodarmos o emulador através da linha de comando Cordova do Git Bash ... como desativar o Dalvik Debug Monivor Server?
Gumuruh
61

Os emuladores são lentos. Não há realmente nada que você possa fazer sobre isso, mas existem alternativas para o emulador.

  1. Genymotion - Preferido

  2. VirtualBox

  3. BlueStacks

  4. Você acena

  5. Emulador do Windows Android

  6. Jarra de Feijão

  7. Andy

Para acelerar seu emulador, você pode hospedar uma GPU e usar uma versão Android mais leve ( Android 2.3 (Gingerbread)). Desenvolver em um Mac seria melhor. Por que usar um emulador, BTW? Usar um telefone real faz mais sentido.

JRE.exe
fonte
Eu usei o Genymotion e devo dizer que é comparativamente rápido que o emulador padrão do Android.
Anurag
"Por que usar um emulador, BTW? Usar um telefone real faz mais sentido." Estou no trabalho e não temos telefones suficientes para circular. Eu não sou um testador, então não tenho prioridade neles.
Almo
o emulador não é lento, mas sua máquina. imagens x86 sugeridas.
Martin Zeitler
@Almo, telefones reais são uma boa escolha, mas o emulador oferece espaço para tornar seu aplicativo compatível com a maioria dos aplicativos da versão + do Android em telas diferentes ... esse é o caminho para permitir que o aplicativo seja executado com menos bugs antes dos testes com telefones reais. Pessoalmente, tenho visto alguns dos problemas de design pode ser facilmente corrigido através de verificá-los nas diferentes emuladores ... Nem todos podem dar ao luxo de ter pelo menos 1 telefone de diferentes tamanhos OS e tela ...
Bhuro
50

A partir da Revisão 17 do Android SDK Tools, o emulador pode usar aceleração gráfica e extensões fornecidas pela CPU para melhorar a eficiência. Os pré-requisitos e as notas completas de configuração e usuário estão em:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

Para ativar a aceleração da GPU , execute o emulador na linha de comando ou adicione "-gpu on" às opções adicionais da linha de comando do emulador na configuração do AVD.

emulator -avd <avd_name> -gpu on

Para usar as extensões de máquina da CPU, é necessário instalar o driver (cuidado porque ele pode entrar em conflito com os drivers existentes do VirtualBox ou VMware ). Uma vez instalado, ele será usado automaticamente sempre que você usar um AVD baseado em x86.

Jokin
fonte
Acabei de descobrir isso sozinho. Faz o emulador funcionar quase tão bem quanto um dispositivo real!
gak
Observe que, para usar a aceleração da GPU, você deve usar o Android 4.0 ou posterior. Além disso, com as ferramentas atuais, você não pode usar os dois instantâneos e a aceleração da GPU ao mesmo tempo, você deve escolher (eu pessoalmente prefiro ter a aceleração da GPU e o início lento do emulador).
mav
46

Tente desativar o seu antivírus. Talvez isso torne o emulador um pouco mais rápido.

Fedor
fonte
7
Também achei que isso era verdade - removi o AVG Free e instalei o MS Security Essentials, e o emulador inicia visivelmente mais rápido. YMMV.
Guy Starbuck
4
ele ainda é super lento em sistemas Linux ... o que obviamente não têm tipicamente av
alex.pilon
3
Não tenho antivírus. Ainda leva as idades ..
Robin Maben
Meu emulador é tão lento no meu Linux sem AV que ele apenas abre uma janela preta e trava. Meu outro computador com Windows não suporta vt-x, portanto não funciona.
Suici Doga
Tente reiniciar o computador, talvez isso torne o emulador um pouco mais rápido.
Vk.edward.li
44

Android SDK rev. 17 suporta a aceleração de máquina virtual usando as tecnologias de virtualização AMD e Intel.

Esse recurso pode melhorar muito o desempenho do emulador!

Consulte a seção a seguir na documentação do emulador Android para obter mais detalhes: Configurando a aceleração de máquina virtual

Não esqueça de instalar o driver apropriado para o seu sistema operacional:

Depois de instalar os drivers e fazer o download de uma imagem do sistema Android X86 (conforme descrito na documentação), você poderá criar um novo AVD usando a imagem x86:

Por exemplo:

  • Alvo: Imagem do sistema Intel Atom x86 - API nível 10
  • CPU / ABI: Intel Atom (x86)
micha
fonte
infelizmente, atualmente o AMD-V é suportado apenas no Linux (SDK rev 17).
Amir Ali Akbari
O Intel HAXM tornou meu x86 AVD 200% ~ 300% mais rápido do que antes! Ótimo!
Lsky
40

A opção -cpu-delay <delay>descrita em Opções de inicialização do emulador pode ajudar.

Peter Mortensen
fonte
1
O link não vai a lugar nenhum agora. Isso ainda é relevante?
Andrew S
40

O emulador parece ficar mais lento quando ocioso. Isso se torna aparente, passando o mouse rapidamente sobre as teclas do lado e observando as respostas de iluminação. Como solução alternativa, passo -icount autopara o QEMU ao iniciar o emulador. Você pode criar um arquivo em lotes my_avd.batpara fazer isso por você:

emulador @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - inicie um dispositivo virtual chamado 'my_avd'
  • -no-boot-anim - desativar animação para inicialização mais rápida
  • -qemu args... - passa argumentos para qemu
  • -icount [N|auto] - habilite o contador de instruções virtual com 2 ^ N tiques por instrução

Isso tornou as animações amanteigadas suaves e acelerou adb installdez vezes.

Timothy003
fonte
por que o icount auto o torna mais rápido?
Pacerier 27/10
obrigado. -no-boot-anim parece inicializar o Android mais rápido!
Ajay
Impressionante .... Especificamente, eu estava preso com uma velocidade de transferência muito baixa de 'adb'. Agora é muito rápido, tão rápido quanto a imagem x86. Obrigado
Mohsen Afshin
Eu estou usando eclipse. Você sabe como configurar essas opções no meu ambiente?
Kta
1
@MSS Não faço ideia ... Já faz anos desde que usei o emulador do Android. Desculpa!
precisa saber é o seguinte
34

A versão 9 do emulador do Android possui um novo recurso "instantâneo". Você pode salvar o estado do emulador (criar uma imagem do emulador) e evitar a inicialização ao iniciar o emulador.

androidev Alex
fonte
34

Você pode revisar os problemas do emulador no Google I / O 2011: Ferramentas de desenvolvimento do Android conversa , iniciando uma 0:40:20.

O emulador é executado lentamente porque o ambiente Android completo está sendo executado em hardware emulado e as instruções também são executadas em um processador ARM emulado.

O principal ponto de sufocação é a renderização, pois não está sendo executado em nenhum hardware dedicado, mas na verdade está sendo executada através da renderização de software. Diminuir o tamanho da tela melhorará drasticamente o desempenho do emulador. Obter mais / mais memória rápida não vai ajudar.

Eles mencionaram, na época, que estavam desenvolvendo uma interface que permitiria ao emulador transmitir certas instruções através do hardware host; portanto, eventualmente, você poderá aproveitar o desempenho do emulador com o poder bruto do hardware de desktop.

Filip Dupanović
fonte
30

A versão atual (maio de 2011) do emulador é lenta, principalmente com o Android 3.0 (Honeycomb), principalmente porque o emulador não suporta GL de hardware - isso significa que o código GL é traduzido em software (na verdade, software ARM) emulado em software no QEMU . Isso é loucamente lento. Eles estão trabalhando nesse problema e o solucionaram parcialmente, mas não com nenhum tipo de qualidade de lançamento.

Confira o vídeo Google I / O 2011: Ferramentas de desenvolvimento do Android para vê-lo em ação - vá para cerca de 44 minutos.

Peter Mortensen
fonte
Isso significa que, se comprarmos o mais recente Raspberry Pi com processador ARM, poderemos usar o emulador Android ARM sem a lentidão de emular o ARM em x86 / x86_64? A mais recente CPU e GPU Raspberry Pi é boa o suficiente para ter um emulador rápido? O Google fornece uma versão ARM do Android sdk-tools para usar um emulador ARM?
baptx
30

Use o Intel x86 Emulator Accelerator

Primeiro, instale o Intel x86 Emulator Accelerator (HAXM). Isso pode ser baixado diretamente da Intel ou usando o Android SDK Manager. No SDK Manager, ele está localizado em Extras.

Captura de tela do SDK Manager

Na versão do Android Studio que eu usei (0.8.9), o Android SDK Manager baixa o HAXM, mas na verdade não executa o instalador (presumo que isso será corrigido em versões posteriores). Para executar o instalador, tive que ir para C: \ Arquivos de programas (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager e iniciar manualmente o intelhaxm.exe.

O HAXM trabalha com dispositivos Intel, então criou um novo emulador com CPU Intel.

Crie um novo AVD usando o Intel Atom x86

Isso melhorou consideravelmente as coisas, mas o emulador ainda estava um pouco lento. A etapa final foi selecionar Usar GPU do host no Android Virtual Device Manager (AVD).

Captura de tela das opções de criação do AVD

Após essas alterações, o Android Emulator foi iniciado em 5 a 10 segundos e em execução sem nenhum atraso perceptível. Esteja ciente de que esses recursos dependem do hardware (CPU / GPU) e podem não funcionar em alguns sistemas.

Amin Rahkan
fonte
Use Host GPU é a chave! graças queria saber por que em uma máquina Eu tinha um emu rápido e em outro eu não tinha
Keoz
você deve habilitar a virtualização no BIOS, se você tivesse um processador AMD depois habilitar VT-x
Anu Martin
Observe que este HAXM é necessário apenas (e disponível) para Windows, não para Linux.
Suther
28

Uma nova opção é o Emulador do Visual Studio para Android --é rápido, Hyper-V , x86, e gratuito para download, mesmo sem VS .

John Kemnetz
fonte
É apenas para Windows?
Robert
Sim - ele usa o Hyper-V, que é apenas no Windows.
John Kemnetz
Eu concordo com a afirmação - o melhor emulador do planeta. Sou testemunha depois de sofrer o uso de outros emuladores por alguns anos. É muito melhor do que outros, especialmente quando se trata de depuração. O Genymotion não é ruim, mas requer o VirtualBox que entra em conflito com o Hyper-V. Esta resposta precisa ir para o topo.
Hong
2
@JohnKemnetz, posso adicionar apenas no Windows Professional ou superior.
uma brincadeira
28

Experimente o Genymotion para Android Studio. Super rápido! Só precisa de uma instalação única. Não há mais dor AVD.

Vipul J
fonte
27

Para adicionar mais informações a isso.

Atualizei recentemente minha instalação do Ubuntu para o Ubuntu 10.04 LTS (Lucid Lynx), que por sua vez atualizou minha versão do Java para:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

E agora o emulador (embora demore um pouco para iniciar) parece estar rodando mais rápido do que anteriormente.

Pode valer a pena que as pessoas atualizem sua JVM.

eggsy84
fonte
O java de 64 bits é mais rápido (~ 2 vezes) que o java de 32 bits na mesma máquina.
Mostowski Collapse
15
Não vejo por que a velocidade do emulador deve depender da versão Java. O emulador não é gravado em Java e não é executado na JVM.
Lena Schimmel #
Estou usando o Oracle Java 1.6.0_26 de 64 bits e meu emulador é mais lento que uma tartaruga ... é doloroso. Core2Quad, Java de 64 bits + Ubuntu 11.10, 8 GB de RAM.
djangofan
Se ele não está escrito em Java e não é executado na JVM, então por que ele requer Java (e não qualquer versão do Java qualquer um!)
Rolf
25

Aqui está o que eu notei que ninguém mencionou nada.

Atribua todos os processadores disponíveis ao emulador

Aqui está o que você pode tentar. Isso acelera o emulador para mim, especialmente durante o tempo de carregamento. Notei que o emulador está usando apenas um único núcleo da CPU disponível. Eu o configurei para usar todos os processadores disponíveis.

Estou usando o Windows 7.

Quando o emulador do Android estiver iniciando, abra o Gerenciador de Tarefas, procure na guia Processo, procure "emulator-arm.exe" ou "emulator-arm.exe * 32" ... Clique com o botão direito do mouse, selecione Afinidade do Processador e atribua o processador que quiser ao emulador.

Digite a descrição da imagem aqui

Harvey Darvey
fonte
3
Isso acelerou as coisas um pouco na minha máquina Windows 7
Rocco O Taco
Como fazer isso no Windows 8?
Eng.Fouad
Suponho que você possa usar o gerenciador de tarefas do Windows 8 para fazer o mesmo? Desculpe, não tenho o Windows 8 no momento.
Harvey Darvey
2
No Windows 10, e eu assumo o Windows 8 também, você precisa ir para a Detailsguia no Task Managerpara fazer isso. Embora, no meu caso, todos os 4 núcleos já tenham sido selecionados. Eu gostaria que eles permitissem que os dispositivos AMD executassem as imagens x86 também, mesmo sem o driver HAXM, eles deveriam ser mais rápidos que as imagens ARM.
A.Grandt
20

Depois de desenvolver por um tempo, meu emulador ficou brutalmente lento. Eu escolhi limpar os dados do usuário e ficou muito melhor. Suponho que leva tempo para carregar cada arquivo APK implantado.

Peter Mortensen
fonte
20

O emulador do Android está muito lento. São necessários 800 MB de memória durante a execução. Se você estiver no Windows, poderá usar o Microsoft Android Emulator. É excelente, oferece mais funcionalidades do que o Android Studio Emulator. E o mais importante é rápido (consome apenas 13 MB). Ele vem com o Visual Studio 2015 Technical Preview. Estou usando e feliz com isso. Eu baixei e instalei o pacote VS completo, preciso ver como podemos instalar apenas o VS Emulator.

Emulador do Visual Studio para Android

EDIT: Tente https://www.visualstudio.com/vs/msft-android-emulator/

Anil8753
fonte
como você calcula cara? é um sistema operacional e precisa de muita memória RAM para funcionar. e 13 Mb É realmente estúpido, por favor assista novamente.
MSS
@MSS Não conheço o histórico por trás do VS Emulator, mas fiz praticamente e encontrei o que disse.
Anil8753
Talvez você tenha cometido um erro Eu quis dizer que é impossível imitar o sistema operacional Android real em um pequeno pedaço de RAM e o emulador do VS deve ser um ambiente de depuração simples para aplicativos criados em C # e provavelmente não é possível executar o aplicativo Android padrão.
MSS
Sim, não tenho certeza se é uma emulação completa do Android ou apenas uma emulação básica básica de recursos do Android. Por favor, deixe-o tentar. Execute este emulador primeiro e depois implante o aplicativo Android studio.
Anil8753
Estou desenvolvendo um aplicativo Android usando o Android Studio e implantando-o de maneira semelhante a outros dispositivos ADB. Basta dar uma chance
Anil8753
20

Bem, como alguém sugeriu o Android x86 como um emulador de teste alternativo, também apresentarei o meu favorito. Isso pode não ser uma alternativa para todos, mas para mim é perfeito!

Use o Bluestacks Player . Ele roda o Android 2.3.4 e é muito fluido e rápido. Às vezes, é ainda mais rápido que um dispositivo normal. A única desvantagem é que você pode testar aplicativos no nível 10 da API e apenas no tamanho de uma tela, mas é perfeito apenas para testar se está funcionando ou não. Basta conectar o Player aoadb executando

adb connect 127.0.0.1 

Após a compilação, ele é instalado instantaneamente. É muito impressionante, considerando que eu tenho um hardware de computador médio (dual core com 4 GB de RAM).

Ahmad
fonte
É realmente muito rápido! Como posso modificá-lo para requisitos como tablet de 7 '(800x480)? Tentei alterar o tamanho do aplicativo, mas já é um tablet.
Nsimtunc
Eu acho que você quis dizer "fluido e rápido" :) De qualquer forma, obrigado. Boa dica, pena que roda o Android 2.2 #
Rolf
2
@Rolf Oh certo, haha ​​:) No entanto, esta resposta é antiga. Você deve conferir o Genymotion. Está muito melhor.
Ahmad
19

Tive tempos de carregamento do emulador lento intermitente (SDK v8.0), até três minutos na CPU Intel Core i7 920 de 2,67 GHz em execução no convidado do Xubuntu 10.04 VirtualBox 3.2.12 com o Eclipse (3.6.1) carregado. Alterei a memória de convidado do VirtualBox de 1024 MB para 2048 MB e, a partir desse momento, nunca mais tive lentidão (tempos de carregamento consistentes em 33 segundos, carga de CPU consistente em 20%). O Eclipse e o emulador são porcos de memória.

Stuart Rackham
fonte
16

Notei que o meu emulador ( plug-in Eclipse ) foi significativamente mais lento pelas configurações de anti-aliasing da minha placa de vídeo Nvidia . Remover 2x anti-aliasing do menu de gráficos e alterá-lo para aplicativo controlado o tornou mais responsivo. Ainda é lento, mas melhor do que costumava ser.

Peter Mortensen
fonte
16

Para reduzir o tempo de inicialização do emulador, você precisa verificar a opção "Desativar animação de inicialização" antes de iniciar o emulador. Consulte a documentação do Android .

Se, caso você não saiba, não precisará fechar o emulador sempre que executar / depurar seu aplicativo. Se você clicar em executar / depurar quando já estiver aberto, seu arquivo APK será carregado no emulador e iniciará imediatamente. O emulador leva muito tempo irritantemente apenas quando foi iniciado pela primeira vez.

Aqui estão algumas dicas para acelerar o emulador do Android: Como acelerar o emulador do Android em até 400% .

Vinayak B
fonte
15

Uma boa maneira de acelerar o emulador do Android e os testes de aplicativos é Instalar ou atualizar o Android Studio para a versão do Android Studio 2.0 e, em seguida, vá para o aplicativo Abrir Configurações / Preferências, vá para Compilar, Execução, Implantação → Execução Instantânea. Clique em Ativar execução instantânea. E depois disso Isso garantirá que você tenha o plug-in gradle correto para o seu projeto trabalhar com o Instant Run. insira a descrição da imagem aqui

E a execução instantânea ficará assim Novas ações Executar e Parar no Android Studio para Execução Instantânea

No entanto, o Android Studio está agora no Preview. Você pode experimentá-lo agora.

Umar
fonte
1
O Android Studio 2.0 está estável agora. Instantâneas prazo aumenta construção acelera não emulador de velocidade, verificação para mais informações: < android-developers.blogspot.lt/2016/04/android-studio-2-0.html >
Arūnas Bedžinskas
O novo emulador roda ~ 3x mais rápido que o emulador anterior do Android. e agora você pode enviar aplicativos e dados 10 vezes mais rápido para o emulador do que para um dispositivo físico. android-developers.blogspot.ae
Umer
1
Esteja ciente de que, quando você estiver usando o Instant Run, existem alguns problemas ao instalar em dispositivos <5.0. Se você perceber que seu aplicativo trava nos dispositivos do kitkat e abaixo, desative a execução instantânea e recrie-a. Você deve ser bom para ir ..
Vamsi Challa