Acabei de instalar o Android Studio e tentei fazer um teste. Quando tento executar meu aplicativo, recebo a seguinte mensagem de erro
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined
Alguém sabe como consertar isso ????
android
android-studio
android-emulator
Ted Pottel
fonte
fonte
Respostas:
É possível que você realmente não tenha imagens do sistema. Verifique
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
novamente se existe e se não está vazio. Se eles realmente estiverem faltando - instale / reinstale com o gerenciador de SDK.fonte
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
, 2: Como reinstalar um dispositivo virtual usando o gerenciador de SDKVá para Ferramentas | Android | AVD Manager
Clique na seta na coluna Ações à direita (onde está a mensagem de erro)
Escolha Editar
Deixe a seleção padrão (para mim, MNC x86 Android M)
Clique Próximo
Clique em Terminar
Ele salva seu AVD e o erro desapareceu da última coluna. E o emulador funciona bem agora.
fonte
Acabei de consertar isso. Espero que isso ajude outras pessoas. (Problema como no Android Studio v2) Este problema é para emuladores de braço. Neste exemplo, estou usando armeabi-v7a API 16
A correção consiste em três etapas:
Etapa 1: Abra o gerenciador sdk e certifique-se de ter instalado o ARM EABI v7a System Image
Etapa 2. Este é o caso óbvio de adicionar a localização de sdk às variáveis do sistema.
Clique com o botão direito no ícone "Este PC" na área de trabalho e, em seguida,
Properties -> Advanced system settings -> Environment Variables...
Em seguida, adicione o caminho para sdk como novo para a seção de variáveis do sistema usando o nome da variávelANDROID_SDK_ROOT
.Etapa 3. Reinicie o Android Studio para que as alterações sejam registradas. Depois de corrigir o
ANDROID_SDK_ROOT
problema é indefinido, o emulador ainda não consegue encontrar os arquivos do kernel, embora possa ver que o gerenciador sdk o instalou nopath-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
O motivo é uma confusão entre o local onde o gerenciador sdk instala o arquivo kernel e o local que o emulador está procurando.
Se você abrir seu config.ini (Android Studio -> AVD Mananger -> "Show On Disk") para seu emulador, você verá a seguinte linha:
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\
(ou seja, \ path-to-sdk \ add-ons \ addon -....)
Em vez de alterar este valor no arquivo config.ini, copiei
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
(arquivo de kernel do gerenciador de pasta sdk instalado)
para
\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\
E esse era o arquivo de kernel ausente. Você pode executar o emulador. (Você precisará fechar o Android Studio e reabri-lo novamente) Dê algum tempo ao emulador, pois ele é 10 vezes mais lento em comparação com o x86. (O meu demorou cerca de 5 minutos para começar)
fonte
image.sysdir.1=system-images\android-16\default\armeabi-v7a
image.sysdir.1
para `system-images \ android-15 \ google_apis \ armeabi-v7a`Resolvi o problema executando "C: \ Arquivos de programas \ Android \ android-sdk \ AVD Manager.exe" e consertando meu dispositivo quebrado.
fonte
Resposta curta : tente criar a mesma imagem usando a velha escola
<AndroidSDK>\AVD Manager.exe
.Trabalhando no Android Studio, rodando todas as ferramentas integradas, ficou natural para mim não usar os gerenciadores antigos (AVD / SDK).
No meu caso, tive esse problema quando usei o novo (integrado) AVD Manager para criar dispositivos com imagens de sistema antigo (API 11 e inferior, como testei).
Quando tentei usar a ferramenta AVD Manager da velha escola (localizada em
<AndroidSDK>\AVD Manager.exe
) para criar essas imagens de dispositivos antigos, tive sucesso.fonte
~/Library/Android/sdk/tools/android avd
.Ei, acabei de encontrar o mesmo problema que você, o terceiro link do google me trouxe a este trecho de código que gera o erro,
para o qual a pessoa escreveu:
"/ * Se o nome da imagem do kernel terminar em" -armv7 ", então mude o tipo de cpu * automaticamente. Esta é uma abordagem de homem pobre para o gerenciamento de configuração *, mas deve nos permitir superar a construção de imagens de sistema ARMv7 * com a passagem dex preopt "
Então, voltei e baixei a versão x86 intel atom para meu nível de API desejado e consegui ativar o emulador sem o erro. Espero que ajude você também ...
fonte
Normalmente, o erro ocorrerá devido a um emulador AVD inadequado para o tipo de aplicativo para o qual você está desenvolvendo. Por exemplo, se você estiver desenvolvendo um aplicativo para um wearable, mas estiver tentando usar um emulador de telefone para executá-lo.
fonte
Eu tive o mesmo erro. A solução para mim foi mudar o caminho ANDROID_HOME . Primeiro, dei uma olhada em tools-> android-> sdk manager do Android Studio. Nessa janela, podemos ver o caminho onde o Android Studio procura o SDK: imagem
Em seguida, abri um shell CMD do Windows, executei:
mas o caminho era diferente para o ANDROID STUDIO CONFIGURATION da primeira etapa.
A solução foi mudar o ambiente do usuário, do ANDROID_HOME, para o da primeira etapa: imagem
Finalmente fechei o shell cmd e abri outro shell cmd para executar:
o caminho foi atualizado e pude rodar meu emulador perfeitamente.
fonte
No meu caso (Windows 10), o motivo foi que me atrevi a descompactar o SDK do Android em uma pasta não padrão. Quando mudei para o padrão c: / Users / [nome de usuário] / AppData / Local / Android / Sdk e alterei os caminhos no Android Studio e variáveis do sistema, ele começou a funcionar.
fonte
Funcionou para mim e estou no Windows 10 e no Android Studio 2.3.3
fonte
fonte
Uma abordagem comum a seguir para resolver esse problema.
1. VERIFIQUE seu gerenciador de SDK executando a partir de seu estúdio Android e a pasta stand alons sdk executando
./android.sh
ajuda a encontrar pacotes quebradosTente instalar imagens do emulador do sistema com suporte da API do Google em vez do Intel. Assim como, resolvi meu problema encontrando outra imagem do sistema.
Experiência em virtulação baseada em KVM sugerida pelo Google para Linux
fonte