O emulador Android não mostra nada, exceto a tela preta e os dispositivos adb mostram "dispositivo offline"

184

Estou apenas tentando iniciar o desenvolvimento no Android. Portanto, o problema é que, quando tento iniciar um emulador emitindo o comando emulator @ A2 , um emulador aparece na tela. Mas mesmo depois de esperar por 2-3 horas, tudo o que mostra é uma tela preta. Nem mesmo a tela inicial do Android ou o logotipo do Android. Apenas uma tela preta. E enquanto inicialmente "adb devices" mostra o emulador como offline. Após 2-3 minutos, a lista de dispositivos conectados fica em branco.

Eu procurei por toda a net e tentei todas as etapas mencionadas lá, como matar e reiniciar o adb, instalar java / android em um diretório sem espaços, mas sem sucesso.

Minhas instalações Jdk e Android estão nas seguintes pastas:

C: \ Java32BitInstallation C: \ AndroidSdkInstallation Aqui está a lista de coisas que eu baixei / instalei para ele:

  1. Ferramentas do Android SDK, revisão 13
  2. Ferramentas das plataformas Android SDK, revisão 10
  3. Plataforma SDK Android 4.0.3, API 15, versão 1
  4. Jdk jdk-7u3-windows-i586

Na minha variável de caminho , adicionei * C: \ AndroidSdkInstallation \ android-sdk \ platform-tools \; C: \ AndroidSdkInstallation \ android-sdk \ tools \; C: \ Java32BitInstallation \; C: \ Java32BitInstallation \ bin *

Também depois de ler em algum lugar da net, adicionei a variável JAVA_HOME com seu valor como C: \ Java32BitInstallation \ Mas ainda não adianta.

Eu tenho o IntelliJ e o Eclipse instalados no meu sistema. Mas desde que, para iniciar o emulador, não estou usando nenhum deles, não suspeito nenhum jogo sujo com eles.

Então, alguém pode me ajudar com essas coisas que estão me deixando louco. Estou tentando nos últimos 10 a 12 dias e não consegui iniciar o emulador, muito menos escrever meu primeiro programa "Hello world".

Notas adicionais: Meu sistema é uma máquina com Windows 7 (64 bits). Anteriormente, eu havia instalado a versão de 64 bits do jdk, mas o problema estava presente também. Agora, depois de pesquisar na internet, desinstalei e instalei a versão de 32 bits do Java. Mas, novamente não adianta. Uma coisa, porém, nesta versão de java de 32 bits (jdk 7 atualização 3), primeiro instale o jre como parte da instalação do jdk e depois instale o jre 7. Então agora eu tenho 2 pastas: jre e jre7 no diretório C: \ Java32BitInstallation. Isso poderia ter algo a ver com o meu emulador não aparecer? Preciso especificar variáveis ​​ambientais adicionais ou modificar a existente? Por favor, ajude.

BTW, eu mencionei o logcat não mostra nada.

user1314305
fonte
3
Não sei se você conseguiu resolver esse problema. Recentemente tive o mesmo problema. Tente executar o emulador com emulator -debug-init -logcat '*:v'. Isso pode levar você à causa raiz. O meu estava em falta no ServiceManager. Parecia que eu havia removido alguns arquivos do ServiceManager.
Markus
1
Encontrei uma tela preta no meio da execução do meu programa no emulador. Concedido que seu problema soa como um problema de instalação avd, eu só queria que outras pessoas soubessem que vazamentos de memória também podem causar uma tela preta. Meu logcat não mostrou o coletor de lixo GC_MESSAGE até limpar o avd, reiniciar o logcat e executar novamente o emulador. Espero que isso ajude alguém porque eu só passei um bom tempo apagar e re-criando AVDs quando não era meu problema ..: - /
cjayem13
Por favor, dê uma olhada no link abaixo. Funcionou bem para mim. stackoverflow.com/questions/23509626/…
Android
1
@ Markus, onde funciona o comando "emulador"? Não em platform-tools
Shirish Herwade
1
@FabioR: no mac, você pode pressionar Command + Option + Escape, selecionar qemu-system-i386e Force Quit . A abordagem equivalente também deve funcionar em outros sistemas operacionais.
ccpizza

Respostas:

136

Eu tive o mesmo problema com o mais recente SDK do Android. Simplesmente desativei a caixa de seleção "Usar GPU do host" nas configurações do dispositivo virtual e ele começou a funcionar novamente.

O "Usar GPU do host" só funciona para mim com o Android 4.2 como "Destino".

Atualização 26.02.2014:

Há duas dicas no capítulo Configurando a aceleração de gráficos em developer.android.com.

Cuidado: A partir da Revisão 17 do SDK Tools, o recurso de aceleração de gráficos para o emulador é experimental; esteja alerta para incompatibilidades e erros ao usar este recurso.

e

Inicie o AVD Manager e crie um novo AVD com o valor de destino do Android 4.0.3 (API Nível 15), revisão 3 ou superior.

Portanto, o Android 4.0.3 (API Nível 15) parece ser o requisito mínimo para a aceleração de gráficos.

Atualização 25.07.2018:

A versão mais recente do Android Studio não possui mais essa opção. Se o problema persistir, tente alternar entre os valores do menu suspenso "Desempenho emulado" na caixa de diálogo Verificar configuração (se disponível) ou consulte a renderização gráfica de Configure Emulator e aceleração de hardware .

jaltek
fonte
2
OK, entendi. Eu tive que atualizar algumas coisas com meu gerente do SDK. Infelizmente, não posso dizer exatamente qual atualização foi a correta, mas acho que tem a ver com os emuladores de processador.
muetzenflo
1
obrigado! teve o mesmo problema por dias e não conseguiu descobrir!
Cvocvo
89
Para mim, é o oposto - tenho que ativar o "HOST GPU" para fazê-lo funcionar. O único problema é que não posso tirar capturas de tela nesse modo: /
Elad Avron
3
A GPU do host precisa estar
ativada
2
O emulador do Android 4.0.3 funciona depois de ativar o modo gpu no Android Studio 3.4 (Linux, Windows 10). Você não pode alterar as opções na caixa de diálogo Verificar configuração. Força o desligamento do modo gpu, independentemente do que você selecionou no desempenho emulado. Então mude o config.ini diretamente. hw.gpu.enabled = yes e hw.gpu.mode = ativado. Os arquivos de configuração estão normalmente em / user folder / .android / avd / emulator name.avd /.
Sungsuh Park
82

Eu tive problemas com a imitação de dispositivos maiores (Nexus7 e 10), enquanto os emuladores de tamanho de telefone funcionaram muito bem. Apenas continuaria recebendo uma tela preta sem nada por horas com os tablets. O que ajudou foi realmente o oposto do que a maioria das pessoas aqui está recomendando: depois de definir a caixa de seleção para 'Usar GPU de host' e definir o alvo para o android mais alto (4.4.2 no momento da redação deste artigo), os 7 e 10 funcionam como esperado!

ahetman
fonte
17
Isso também funcionou para mim. Verifique se a opção Usar GPU do host foi marcada e definiu o destino como Android 4.4.2.
R # Brill
1
Obrigado. Marquei a opção e 4.2.2 começou a funcionar! Eu acredito no que as outras pessoas mencionaram também. Que mundo bava java !!
JQ.
Exatamente o que eu precisava. Obrigado!
TheXenocide
Com ou sem a opção "Usar GPU do host" marcada, o nível de API 14 não funcionaria para mim. O nível 17 da API funcionou com "Usar GPU do host" marcado.
vishvAs vAsuki
Isso também funcionou para mim, estou em um MacBook no início de 2015 sem placa gráfica discreta.
Simon Stender Boisen
53

Recentemente, tenho o mesmo problema no emulador, Nexus 5 (Android O). Acesse o Gerenciador de dispositivos virtuais do Android e limpe os dados do usuário e ele resolveu o meu problema.

Gerenciador de dispositivos virtuais do Android

Krunal Kapadiya
fonte
Trabalhou para mim. Obrigado.
Sadda Hussain
1
Trabalhou para mim em 2020, executando no Windows por meio da linha de comando
ViktorMS
1
Essa é a solução mais comum. Deve ser a resposta aceita.
Dror Bar
30

A seleção de "Limpar dados do usuário" nas Opções de inicialização corrigiu isso para mim.

Vá para Android Virtual Device Manager-> Selecione seu dispositivo-> Iniciar-> Marque "Limpar dados do usuário" -> Iniciar

feiticeiro
fonte
1
Isso funcionou para mim em um Mac que executa emuladores através do visualizador de equipe. Em Android Studio 2.0, esta opção aparece na seta para baixo ao lado do botão Editar -> "Limpe Data"
behelit
Funciona fantástico. Se o emulador for construído a partir da fonte (torta android aosp_x86_64-userdebug no meu caso), sempre que executar o comando root do diretório raiz, o emulador precisará ser iniciado com o -wipe-dataargumento para inicializá-lo corretamente.
yc2986 13/01/19
boa solução, funcionou para mim
core114 ​​06/07
23

Usuários de Mac: Infelizmente, se você possui um Mac antigo (final de 2009, por exemplo) e está usando o Yosemite, não pode usar o HAXM para arquitetura de 64 bits. De acordo com as notas de lançamento do HAXM:

O driver HAXM não oferece suporte à emulação de uma imagem de sistema de 64 bits nos sistemas Intel baseados na microarquitetura Core (Core, Core2 Duo etc.). Todos os sistemas baseados no Nehalem e além são suportados. (Máquinas Corei3, Core i5 e Core i7).

Passei um dia tentando descobrir esse problema quando me deparei com essa citação. A única coisa que funciona é usar a versão não-x86 do sistema operacional mais recente (por exemplo, Lollipop Android 5.0.1 armeabi-v7a) no seu AVD

JeffB6688
fonte
21

Você já tentou o botão liga / desliga :) ... realmente funcionou para mim. Na verdade, o emulador salva o estado do dispositivo antes de fechar, então, na última execução, se você desligou o dispositivo e fechou o emulador, na próxima execução, ele carregará o estado anterior e exibirá o telefone desligado, também conhecido como tela em branco. Embora possa haver muitas outras causas desse problema.

insira a descrição da imagem aqui

sharma panky
fonte
3
Isso deve ser mencionado nas respostas acima. No primeiro dia com o Android Studio, tive medo de clicar neste botão, porque pensei que ele desligaria o telefone e custaria muito tempo para ligá-lo novamente. Sim, uma tela preta significa que o telefone foi desligado e você deve ativá-lo com o botão liga / desliga, como no dispositivo real.
K19 /
Isso me salvou muita dor de cabeça e tempo, muito obrigado. Eu tinha acidentalmente pressionado este botão quando querem fechar o emulador, não pensar nisso quando a resolução de problemas quando ele ficou escuro próxima vez que eu corri meu aplicativo
Meenohara
9

Faça redefinições de fábrica no "Gerenciador de dispositivos Android" .

Nas versões mais recentes do Android Studio, isso é chamado de "Limpar dados" e está no menu do botão direito do mouse no dispositivo no gerenciador de dispositivos virtuais.

Ali Rasoulian
fonte
Isso funcionou para mim, obrigado. No VS 2019, acesse o Gerenciador de dispositivos Android, clique com o botão direito do mouse e "redefinição de fábrica". Eu tinha um emulador de tela preta e isso resolveu o problema para mim.
Evan
7

Aqui está como eu consegui resolver: Eu executei o emulador com o seguinte comando:

sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'

e recebeu o seguinte na saída:

NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)

Então, acabei de liberar algum espaço em disco do meu diretório / home no ubuntu (para o Windows, liberamos o espaço em disco C:) e ele foi inicializado sem problemas.

Sunil Kumar
fonte
Eu usei o comando: sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v' para iniciar o meu AVD e ver o log e descobri que o dispositivo não pode acessar a câmera do laptop, então editei a configuração para desativar a câmera. Depois disso, tudo funcionou bem!
Mo Zaatar
6

Também teve esse problema do nada. O Android studio ocupava 100% da CPU e, na exposição, tive o seguinte erro:

Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.

A inicialização a frio o corrigiu para mim, como a resposta de boltup_im_coding. Você também pode inicializar a frio dessa maneira, se já estiver em execução (com a tela preta).

insira a descrição da imagem aqui

bot19
fonte
4

Pelo que parece, você tem um dispositivo mal configurado. Se você fizer isso, nunca será iniciado e nunca mostrará nada no Logcat.

Eu recomendo criar um novo dispositivo usando uma das "Definições de dispositivos" padrão disponíveis no AVD Manager. É tão fácil quanto destacar o tipo de dispositivo desejado na guia "Definições do dispositivo" e clicar no botão "Criar AVD ..." e, em seguida, preencher alguns detalhes. Eu começaria ajustando o "Armazenamento Interno" para cerca de 8 GB e (talvez) um "Cartão SD" de 2 GB, deixando tudo o mesmo. Tente iniciar o dispositivo e, se aparecer "Android" na tela, você está executando. A primeira inicialização geralmente leva algum tempo, então aguarde e observe o Logcat quanto a quaisquer problemas (a perspectiva "DDMS" ajuda aqui).

Se você ainda vir uma tela preta com uma definição de dispositivo padrão, há outros problemas que estão causando a falha do dispositivo. Cavar logs pode ser sua única chance, se for esse o caso. Você sempre pode tentar baixar novamente o ADT e reinstalar os SDKs se nada mais funcionar.

O objetivo aqui é colocá-lo em funcionamento com um dispositivo (muito) básico; portanto, não atire para especificações super impressionantes neste momento, apenas atire para tentar fazê-lo funcionar. Quando isso acontecer, tente ajustar as configurações uma a uma até que você as especifique da maneira que desejar. Lembre-se de que o emulador tem suas limitações e não substitui um dispositivo real (embora funcione a maior parte do tempo;)

TwoByteHero
fonte
Surpreso ao ver uma resposta depois de quase um ano postando a pergunta. Eu tentei as etapas anteriores que você mencionou, mas isso não ajudou. Eu atualizei o SDk e funcionou.
usuário1314305
4

Verifique se você instalou a revisão mais recente do HAXM. Eu tive o mesmo problema de tela em branco na versão 1.0.1 enquanto a 1.0.8 já estava disponível. O instalador pode ser baixado através das ferramentas do SDK, para instalar o módulo que você precisaria executar

diretório-sdk do android \ extras \ intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe

sladstaetter
fonte
3

Apenas tente definir CPU / ABI em "Intel Atom (x86)" e desative a caixa de seleção "Usar GPU host".

Agita
fonte
3

Os problemas associados à janela preta do emulador:

Acontece quando uma nova janela é instalada. O problema associado aos gráficos das janelas está no CD do Windows. Você precisa atualizar o Windows e seguir as etapas a seguir.

Se Emulated Performance Graphics for (Software GLES, selecione-o para -> Automático)

Ou Se Emulated Performance Graphics for (Automatic, selecione-o para -> Software GLES)

essa alternância pode resolver esse problema.

RAHINUR RAHMAN
fonte
3

Mudei para sempre "inicialização a frio" para resolver o meu problema. Antes disso, quando eu corria adb devices, sempre mostrava como offline.

Captura de tela de inicialização a frio

boltup_im_coding
fonte
1
A inicialização a frio também funcionou para mim. Fez isso uma vez, não tive um problema desde .... No entanto, de vez em quando isso acontecer ...
newITguy
3

A seguinte correção funcionou para mim:

  1. Localize a pasta AVD em ~/.android/avd
  2. Abrir config.ini
  3. Substitua as seguintes configurações por esses valores:

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. Salve e feche o arquivo
  5. Não abra a tela de configurações do AVD no Android Studio ou ele reverterá as configurações acima
  6. Inicie o emulador

Agradecemos a Sunsugh Park por fornecer a correção .

Eu relatei isso ao Google na tela preta a partir da API 15 . Marque o problema com uma estrela para que ele o conserte.

Editar

Na verdade, enquanto o emulador inicializou ok, ele travou após abrir um aplicativo. Portanto, a equipe do emulador deve ter desativado os gráficos de hardware por um motivo. Infelizmente, parece ser impossível fazer o emulador funcionar.

Sam
fonte
2

Eu tive o mesmo problema na API 28 e a correção acabou sendo a seguinte;

Habilitando a renderização do Skia para a interface do usuário do Android

Ao usar imagens para a API 27 ou posterior, o emulador pode renderizar a interface do usuário do Android com o Skia, que pode renderizar de maneira mais suave e eficiente.

Para ativar a renderização do Skia, use os seguintes comandos no shell adb :

su
setprop debug.hwui.renderer skiagl
stop
start

https://developer.android.com/studio/run/emulator-acceleration#accel-graphics

Sean Conway
fonte
Agradecimentos para a edição - Eu não tenho reputação suficiente para comentar adequadamente ...
Sean Conway
1

Eu também tenho o mesmo problema. Quando mudei o Eclipse do EE para o Eclipse Classic, funcionou bem. no Win 64Bit profissional. Tente também pode funcionar para você ..

SenthilPrabhu
fonte
1
Oi Senthil, Obrigado pela resposta. Eu acho que não é uma questão de versão do Eclipse, bcoz Eu não estou usando o eclipse para iniciar o emulador. Eu estou usando ferramentas sdk android t = para isso.
precisa saber é o seguinte
1
oh .. Então espere um dia alguém pode te ajudar ..! Lamento ,,,
SenthilPrabhu
1

Consegui iniciar e depurar um aplicativo de teste Android no emulador Android através do Delphi.

Eu tenho o Windows 7 de 64 bits, 4 GB de RAM, um processador de núcleo duplo em 3GHz e Delphi XE 5.

Abaixo está um link que eu preparei com pressa para meus colegas de trabalho, mas melhorarei com a primeira chance:

Depurar aplicativos Android com Delphi

Perdoe meu idioma inglês, mas não sou um falante nativo de inglês. Espero que você encontre este pequeno tutorial

brigosx
fonte
1

Para uma solução alternativa, tente o Android 4.0.3 (API 15) com a imagem Intel Atom (x86). Eu pude capturar capturas de tela do DDMS com "use host gpu" e HAXM ativado. Somente essa combinação funcionou para mim.

Zsolt Safrany
fonte
1

Eu também tive o mesmo problema. Eu descobri que o acelerador de hardware HAXM foi atualizado recentemente, mas não foi reinstalado, pois o gerenciador de atualizações atualiza apenas o pacote do instalador que é salvo no disco rígido. Você precisará remover o HAXM e, em seguida, executar esse pacote do instalador para concluir a atualização. Geralmente, isso é instalado no ANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager. Onde ANDROID-SDK-ROOT é o local em que seu android sdk está localizado.

PieterVK
fonte
1

Para mim, tive que desligar a câmera frontal e traseira. Espero que isto ajude!

Entalhe
fonte
Oh thx, no meu caso eu tivesse que escolher volta emular ou front-camera
stephanfriedrich
1

Eu estava tendo esse problema no meu Mac. Quando você cria o dispositivo, se você alterar "Gráficos" de "Automático" para "Software", o problema será corrigido ou, pelo menos, ocorreu por mim.

NineBlindEyes
fonte
1

Eu uso emuladores Android extremamente rápidos da Microsoft, utilizando o Hyper-V e a mesma tela preta para todos os emuladores Android criados, independentemente de como definir o modo GPU (automático, host, mesa, ângulo, comutador, desligado). Embora minha situação seja aparentemente diferente da do OP, pensei que poderia ser útil para aqueles que usam emuladores do Microsoft Android e chegam aqui depois de pesquisar na "tela preta do emulador de android".

A solução no meu caso está atualizando todas as ferramentas do Android:

   Visual Studio > Tools > Android > Android SDK Manager > Tools

A partir de hoje (01/02/2019), os emuladores Android teriam esse problema de tela preta se você tiver uma nova instalação do Visual Studio 2017. O VS mostra notificações automaticamente para atualizações de pacotes NuGet, ferramentas de extensão, etc., mas NÃO para Android atualizações de ferramentas. Você precisa verificar e atualizá-los manualmente.

Hong
fonte
1

Tive esse problema no meu Nexus 7, Nexus 10 e Pixel, o que significa em todos os emuladores.

Após dias de luta com esse problema, eu finalmente descobri. Bem, existem muitas respostas acima que podem funcionar ou não para você, porque a configuração delas pode variar um pouco da sua.

Vou te dizer minha solução:

Ao criar esses emuladores, verifiquei Hardware - GLES 2.0 em Gráficos para obter melhor desempenho. E para mim foi o problema .

Se você fez o mesmo, então,

Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.

Depois clique em Show Advanced Settings -> Set none for both Front and Back camerae hit Finish.

Agora select your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now.

E sim, você está pronto para ir 😀

Parth Bhanushali
fonte
0

Eu estava tendo esse problema depois que recebi a tela azul da morte enquanto executava meu emulador. Aqui está a minha solução (pelo menos para Windows). Minha solução é reinstalar completamente o AVD por completo. O problema com o processo normal de desinstalação do Android Studio é que ele não remove tudo ; portanto, se os arquivos AVD estiverem corrompidos, eles permanecerão corrompidos na reinstalação.

Para corrigir isso, excluí dois diretórios:

C: \ Users \ (Meu nome de usuário) \. Android

e

C: \ Users \ (Meu nome de usuário) \. AndroidStudio3.1

Depois, executei novamente o instalador.

Eu acho que essa é a solução mais infalível se o seu emulador estava funcionando anteriormente porque força uma atualização completa do componente AVD do Android Studio.

Roymunson
fonte
0

Outra fonte de erro pode ser o tamanho da PATHvariável do sistema (nos sistemas Windows). A execução de imagens baseadas em intel com uma PATHvariável com mais de 2047 caracteres parece passar um valor vazio dessa variável para o console / emulador, portanto, não é possível iniciar corretamente.

Aqui está um artigo que descreve esse comportamento: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

Eu tive o mesmo problema. Reduzir o comprimento total dessa variável de sistema para 1354 caracteres, removendo caminhos não utilizados / inexistentes, corrigiu isso para mim.

StanE
fonte
0

Eu tive o mesmo problema. Aqui está a minha solução (para Mac OS). Acabei de fazer o downgrade da versão do Android Emulator (de 28.0.3 para 27.3.8). Aqui está uma instrução detalhada de como fazê-lo.

Vladyslav Panchenko
fonte
0

Eu também tive o mesmo problema no win10 64bit. Depois de muita pesquisa, encontrei esta solução (se você estiver usando um sistema intel (CPU, GPU, placa-mãe etc.)) Espero que funcione para você também.

etapa 1: verifique se a virtualização está ativada no seu dispositivo:

Reinicie o computador e pressione F2 para configurar o BIOS. Você deve encontrar a tag Virtualization e verificar se está marcada como habilitada. Se não estiver ativado, nenhum dispositivo virtual poderá ser executado no seu dispositivo.

etapa 2: Instalar / atualizar o Intel HAXM (Intel Hardware Accelerated Execution Manager) no seu dispositivo:

Este software deve ser instalado ou atualizado para que qualquer AVD seja executado. Você pode baixar a versão mais recente pesquisando "HAXM". Após o download, instale o arquivo .exe e reinicie o seu computador.

AmirHossein Parsapour
fonte
0

.

Eu tinha enfrentado o mesmo problema. Ao selecionar os dados de limpeza funcionou para mim.

Vijay Palaskar
fonte