PÂNICO: Caminho do sistema AVD quebrado. Verifique seu valor ANDROID_SDK_ROOT


151

Depois de digitar o cordova run androidterminal, estou recebendo este erro:

Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!

Isso acontece após a exportação:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

Antes de exportar, obtive:

Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

Alguma idéia de onde estou errado? Tenho certeza de que esta é a raiz do sdk, por que estou recebendo um caminho de sistema avd quebrado?


Você consegue iniciar o emulador com o AVD Manager? (Localizado em <AndroidSDK> \ AVD Manager.exe)
e666

4
Estou enfrentando esse mesmo problema no Visual Studio também ao criar aplicativos de plataforma cruzada. Meu texto de erro é1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT 24/10

Acabei de abrir o gerenciador do SDK do Android e instalar tudo o que estava lá (Ferramentas, Vários níveis de API, Extras). Literalmente! Isso resolveu meu problema. No entanto, depois disso, enfrentei outros problemas relacionados à tecnologia HAXM da Intel, necessários para a execução de emuladores Android. Eles precisam ser resolvidos de maneira diferente.
RBT


2
Eu posso iniciar o avd através do android studio. Eu recebo esse erro ao tentar iniciar a partir da linha de comando. Erro PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!ao verificar esse caminho ->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk. Portanto, o emulador falha mesmo que o caminho esteja correto.
Mike S.

Respostas:


163

Pode haver vários problemas diferentes quando você move o AVD ou SDK para outro diretório, substitui um SDK antigo por um novo ou, de alguma forma, corrompe o SDK.

Abaixo, descreverei todos os possíveis problemas que conheço e mostrarei várias maneiras de resolvê-los.

Obviamente, presumo que você tenha algum AVD criado e ele esteja localizado em C:\Users\<user_name>\.android\avd(Windows) ou ~/.android/avd(Linux / MacOS).

Se você se mudou .androidpara outro local, defina a ANDROID_SDK_HOMEvariável de ambiente como o caminho do diretório pai que contém o seu .androide verifique se o Gerenciador do AVD encontrou com êxito o seu Dispositivo Virtual.

Verifique também os caminhos <user_home>/.android/avd/<avd_name>.ini


Estrutura do SDK incompleta / corrompida

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

Esses 2 erros ocorrem se o emulador não conseguir encontrar o SDK ou se o SDK estiver quebrado.

Portanto, primeiro recomendo remover a ANDROID_SDK_ROOTvariável. Só é necessário quando o emulador está localizado fora do diretório SDK. Mas, em geral, seu emulador permanece dentro do diretório SDK. E, nesse caso, ele deve detectar o local do SDK automaticamente . Caso contrário, o SDK provavelmente tem uma árvore de arquivos incorreta. Faça o seguinte:

  1. Verifique se o diretório SDK tem pelo menos estes 4 diretórios: emulator, platforms, platform-tools, system-images. É muito importante! Esses diretórios devem estar presentes. Se alguns deles não existirem, basta criar diretórios vazios.

  2. Vá para <user_home>/.android/avd/<avd_name>e abra config.ini. Encontre a image.sysdir.1propriedade. Aponta para o diretório, dentro do diretório SDK, que contém a imagem real do sistema. Verifique se esse diretório existe e contém arquivos como build.prop, system.imgetc. Se não existir, abra o Gerenciador de SDK e faça o download das imagens do sistema exigidas pelo AVD (veja abaixo).

Se tudo estiver configurado corretamente, quando esses erros ANDROID_SDK_ROOTdevem desaparecer. Se não estiverem, agora você pode tentar configurar a ANDROID_SDK_ROOTvariável.


Pacotes necessários e HAXM não estão instalados

O próximo problema que você pode enfrentar é que o emulador começa a ser iniciado, mas desliga ou sai imediatamente. Isso provavelmente significa que você não possui todos os pacotes necessários instalados.

Outro erro possível é:

Não foi possível detectar automaticamente um binário ADB. Algumas funcionalidades do emulador não funcionarão até que um caminho personalizado para o ADB seja adicionado na página de configurações estendidas.

Portanto, para iniciar com êxito qualquer AVD, você deve ter certeza de que pelo menos esses pacotes estão instalados:

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

E, como mencionei anteriormente, você deve instalar imagens do sistema que seu AVD está usando, por exemplo system-images;android-25;google_apis;x86

Observe que as versões mais recentes no SDK não têm um autônomo SDK Manager.exe. Em vez disso, você deve usar o Android Studio ou tools\bin\sdkmanager.bat(o Linux / MacOS provavelmente possui sharquivos).

Para listar todos os pacotes disponíveis, use sdkmanager --listousdkmanager --list --verbose

Para instalar pacotes, use sdkmanager <package1> <package2> ...

Também recomendo instalar o HAXM no seu sistema manualmente.


Os arquivos Qcow2 referem-se a imagens-base incorretas / inexistentes

O último problema que mencionarei acontece quando você está tentando mover o AVD ou SDK de um computador ou diretório para outro. Nesse caso, você pode receber esse erro:

qemu-system-i386.exe: -drive se = nenhum, verificação de sobreposição = nenhum, cache = inseguro, índice = 0, id = sistema, arquivo = C:\Users\<old_user_name>\.android\avd\<avd_name>.

avd \ system.img.qcow2, somente leitura: Não foi possível abrir o arquivo de backup: Não foi possível abrir ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img': Argumento inválido

Existem 2 maneiras de corrigi-lo:

  1. Se você não se importa com os dados que o AVD contém, basta excluir todos os qcow2arquivos do diretório AVD (por exemplo, de <user_home>/.android/avd/<avd_name>). Nesse caso, você obterá uma versão limpa do Android, como após uma reinicialização completa.

  2. Se os dados no emulador forem importantes para você, abra todos os qcow2arquivos um por um usando qualquer editor HEX (prefiro HxD ), localize o caminho de um imgarquivo base e altere-o para o correto no Overwritemodo (para preservar o tamanho do arquivo). Em seguida, selecione o caminho e obtenha seu comprimento em hexadecimal (por exemplo 2F). 2Frepresenta a barra ASCII /. Coloque-o na posição 13:

Edite arquivos qcow2 do Android usando o editor HxD HEX

PS: Não tenho certeza, mas provavelmente existem alguns utilitários como o qemu-img, que permite definir uma imagem base diferente. Bem, para mim é mais fácil editar manualmente o binário.


Agora você provavelmente poderá iniciar com êxito o seu dispositivo virtual Android. Acredito que sim :)


Outro motivo pode estar faltando hw.cpu.archno config.ini
daserge 15/17

2
Eu segui todas as instruções e ainda tenho o caminho do sistema AVD quebrado.
rola

Impressionante. Bem feito com os arquivos base do qcow! Você conhece uma maneira mais genérica de recuperar os arquivos qcow? Gostaria de partilhar a minha AVD com várias pessoas ...
Amit Moran

@daserge todos os meus arquivos '.ini' têm um formato estranho (faltam quebras de linha após cada parâmetro), isso é normal / bom?
J3STER 30/0318

1
Graças, platform-tools pasta estava faltando no meu caso, então eu instalei-o com o comando tools/bin/sdkmanager "platform-tools". Foi uma dor de encontrar o que estava errado por causa desta mensagem de erro estúpido ( "PÂNICO: Não é possível localizar caminho do sistema AVD Por favor, defina ANDROID_SDK_ROOT.") Que não estava dizendo claramente qual era o problema ...
baptx

129

No Mac: Eu tinha instalado android-sdkusando brew, bem como Estúdio Android. De alguma forma, ter 2 instalações estava causando esse problema. Quando eu desinstalei minha instalação de fermentação do sdk usando brew cask uninstall android-sdke adicionei os seguintes vars ao meu ambiente. Funcionou.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME

18
Eu já tinha instalado o android sdk usando brew enquanto seguia um tutorial do Nativescript. Depois de instalar o Android Studio, achei que o emulador não seria iniciado. Sua correção resolveu meu problema. Obrigado!
Cocoanut

2
Isso funcionou para mim também. Eu também tinha instalado android-sdkdurante a instalação do NativeScript. O emulador dispara-se diretamente do Android Studio agora, mas não através NativeScript (tns rodar Android)
Mudlabs

3
Ele resolveu meu problema, mas sem excluir a versão android-sdk do brew.
21818 mrisk em:

1
as ferramentas da linha de comandos estão obsoletas. A melhor jogada daqui para frente é instalar AS adequadamente e evitar a bebida cask facebook.github.io/react-native/docs/...
Harry Moreno

1
Depois de muita pesquisa, isso finalmente resolveu o nosso problema. Muito obrigado!!!
user3575337

27

Isso resolverá seu problema no macOS:

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile

4
Depois de muitas coisas tentadas, esse foi o único trabalho, muito obrigado: D
Alan Cordova

Funciona perfeitamente Obrigado.
Herman Demsong 28/09/19

@SundayOkoi vai no seu diretório pessoal
1800 INFORMAÇÃO

O mesmo comigo. Este funciona para mim. Embora eu tenha feito pequenas alterações neste.
Edper

15

Removendo o erro ao usar o Android SDK do Homebrew como o SDK padrão

Como o @EFreak eu instalei o android-sdk com o homebrew (um gerenciador de pacotes para Macs). Eu precisava fazer o abaixo para corrigir o erro, porque estava seguindo os tutoriais nativescript e o erro ocorreu. Se você gosta de mim, pretende usar a versão brew sobre a versão android-sdk, use esta resposta (isso permitirá que você use a tns run androidAPI nativescripts ) e se quiser o android-sdk padrão do android studio, siga a resposta de @ EFreak.

Configurando o Android Studio para usar os SDKs do Homebrew para Android

Basicamente, você só precisa alterar a localização do SDK do Android no Android studio. Primeiro abra um projeto no android studio. Em seguida, abra o Gerenciador de SDK clicando neste botão.

localização do botão android sdk manager

Em seguida, quando surgirem as preferências padrão do gerenciador de SDK do Android, clique em editar ao lado do local do SDK do Android.

insira a descrição da imagem aqui

Localizando o Android SDK da Homebrew

Em seguida, você precisa realmente atualizar a localização do sdk na tela de configuração dos componentes do sdk, meu brewandroid-sdk estava localizado aqui /usr/local/share/android-sdk. Você pode encontrar onde o seu está instalado executando, em brew cask info android-sdkseguida, próximo à parte inferior da saída:

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

O valor da variável exported ANDROID_SDK_ROOT(que aqui está /usr/local/share/android-sdk) é a localização do android sdk no sistema doméstico.

Em seguida, clique no botão Localização do Android SDK (identificado como 1 na imagem) e cole na localização do Android SDK da Homebrew.

insira a descrição da imagem aqui

Em seguida, termine o assistente instalando quaisquer pacotes. Eu precisava excluir e recriar meus emuladores de dispositivos nesta etapa, mas pareceu funcionar muito bem depois disso.

Definindo as variáveis ​​de ambiente do Android SDK para apontar para o Android SDK do Homebrew

Além disso, você pode querer se certificar de que está seguindo a rota do Homebrew para que o script de configurações do perfil tenha as variáveis ​​de ambiente ANDROID_HOMEe ANDROID_SDK_ROOTdefinidas para o local do Homebrew no android sdk, caso contrário, o acima não funcionará ainda. Isso pode ser alterado a partir do local Homebrew se você instalou o Homebrew antes de instalar o Android Studio, conforme indicado nesta resposta por @Jamie Armour . Você pode verificar as variáveis de ambiente para o SDK do Android estão definidos corretamente, executando echo $ANDROID_HOMEe echo $ANDROID_SDK_ROOTe verificar que ambos mostram a localização Homebrew do Android SDK.

Se você precisar alterar os valores ANDROID_HOME e ANDROID_SDK_ROOT, poderá fazer isso nas configurações de perfil no seu Mac, que provavelmente se parecerão com ~/.bash_profile"~ / .bashrc" ou "~ / .profile" e definidas da seguinte forma:

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

Você precisa alterar os valores de ambas as exportações para os valores adequados do local do SDK para Android do Homebrew e salvar o arquivo. Para verificar se os valores corretos foram gravados, você deve primeiro fechar e abrir o terminal, o que deve executar novamente o arquivo e redefinir as variáveis ​​de ambiente ou pode originar o arquivo executando source <profile file name>onde está o arquivo de perfil que você editou e salvou. Em seguida, você pode executar novamente echo $ANDROID_HOMEe echo $ANDROID_SDK_ROOTverificar se eles têm o local Android Homebrew sdk.


3
Você herói! Os documentos do NativeScript negligenciam completamente mencionar esse aspecto.
Jamie Birch

Não acho que você precise da instalação do brew para poder executar. tns run android.Isso estava funcionando para mim antes de executar o script de configuração nativescript. O script quebrou um monte de coisas -_-
Felipe Centeno

1
@FelipeCenteno, sim, você não precisa de cerveja para fazer isso. É assim que você faz se já instalou todo o Android SDK com o brew. Você pode usar a resposta EFreaks se estiver usando o sdk do android studio padrão.
John John

14

Isso significa que seu caminho para as ferramentas está incorreto. É assim que parece em um mac usando brew. Cuidado com a versão.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

No seu caso, parece que você deve executar o seguinte:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

3
O erro ainda é o mesmo. Além disso, verifiquei duas vezes e ANDROID_SDK_ROOTestá definido .bash_profile. Até echo $ANDROID_SDK_ROOTdá o caminho correto: /usr/local/Cellar/android-sdk/24.4.1_1 estou usando o macOS com o HomeBrew.
Shivam Maheshwari


8

Eu tive o mesmo problema após a atualização do emulador. O problema foi resolvido após a adição da variável ANDROID_AVD_HOME insira a descrição da imagem aqui

Importante: Caracteres não ASCII não podem ser usados ​​no caminho. Por fim, reinstale os dispositivos virtuais ou substitua manualmente o caminho do dispositivo no arquivo Configuration settings.ini, que contém o caminho antigo com caracteres não ascii.

C:\Users\<user_name>\.android\avd\<avd_name>

Sim, caracteres não ASCII são importantes. Depois de remover esses caracteres, tudo funciona bem. Como remover superuser.com/questions/1355431/…
Alex Z

8

Executei o Android Studio no Windows 10, configurei ANDROID_HOME e ANDROID_SDK_ROOT em Variáveis ​​de ambiente e ainda recebi o erro.

Acontece que eu esqueci de baixar o dispositivo.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Depois de baixar a "Imagem do sistema ausente", tudo funciona bem.


2
meu Deus. Defino tantas variáveis ​​de ambiente que não precisavam ser definidas. tudo o que eu precisava fazer era baixar algo. Obrigado.
Andy

7

No meu caso, foi quebrado porque ANDROID_HOME e ANDROID_SDK_ROOT eram diferentes, então, quando eu configurei ANDROID_HOME para ser o mesmo que ANDROID_SDK_ROOT, ele começou a funcionar.


1
Sim, graças que funciona para mim e, como @Blagojce disse que eu acrescentou que C: \ Users \% username% \ AppData \ Local \ Android \ SDK \ em ambas as variáveis ANDROID_HOME e ANDROID_SDK_ROOT
Abdelhadi Abdo

Isso também corrigiu para mim. Provavelmente, eu tenho um Android SDK instalado antes de instalar o Visual Studio / Xamarin.
thowa 23/03

6

A resposta de Oleg Cherrs me levou a uma solução. Como ele mencionou

Vá para /.android/avd/ e abra o config.ini. Encontre a propriedade> image.sysdir.1. Aponta para o diretório dentro do SDK que contém imagens do sistema. Certifique-se de que este diretório exista e contenha arquivos como build.prop,> system.img, etc. Se não existir, será necessário abrir o SDK Manager e> baixar as imagens do sistema exigidas pelo AVD (veja abaixo).

Encontrei o arquivo * .ini do emulador correspondente no diretório avd. Lá eu modifiquei a entrada "image.sysdir.1". Substituí o parente por um caminho absoluto (anexe o ANDROID_SDK_ROOT na frente). Depois disso, o emulador foi iniciado na linha de comando conforme o esperado.


Funcionou para mim também, única solução que funciona em WIN10 x64 com todas as variáveis ​​PATH definidas corretamente. (FYI: acrescentei o caminho absoluto do ANDROID_SDK_ROOT em vez da variável em si)
Max Methot

Eu fui, C:\Users\edkol\.android\avdmas não vejo nenhum config.ini - preciso adicionar um? Se sim, onde posso obtê-lo?
ekolis

6
  • O diretório Platfoms estava ausente em / usr / local / share / android-sdk .

  • Criei um diretório vazio chamado plataformas que corrigiu o problema.


5

ok eu posso rodar o android do cordova, mudei o ANDROID_HOME para,

export ANDROID_HOME=/usr/local/opt/android-sdk

5

Você deve adicionar o AVD Emulator. Vá para este local:

C:\Users\%username%\AppData\Local\Android\sdk\

inicie o AVD Manager e, na segunda guia (Definições do dispositivo), clique no botão "createAVD".


4

Estou no Windows 10 e o problema era que o diretório do avd no meu computador tinha caracteres não ASCII.

Aqui está o que fazer:

Execute o cmd como administrador

Execute o seguinte comando:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(Isso criará um link simbólico entre o caminho com caracteres não ASCII e o novo)

Em variáveis ​​de ambiente, adicione ANDROID_AVD_HOMEvariável com valor C:\\.android\avd.


3

Acabei de encontrar o problema hoje e consegui resolvê-lo.

Emulador: [140735565005632]: ERRO: android / android-emu / android / qt / qt_setup.cpp: 28: biblioteca Qt não encontrada em / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib

15:08 Emulador: Não foi possível iniciar '/ Users / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': esse arquivo ou diretório não existe

A solução foi bem simples. Basta instalar o emulador do Android através do Android Studio => ferramentas => Android => gerenciador do SDK => ferramentas do SDK => selecione Emulador do Android => Aplicar

Estou usando um MacBook Pro no macOS High Sierra e acredito que sua máquina não tem nada a ver com esse problema. Obviamente, o emulador não está instalado ao executar o gerenciador de instalação do Android Studio pela primeira vez, pelo menos para mim, com o Android Studio 3.0.1

Verifique também se os caminhos estão definidos no seu .bashrc ou .zshrc assim:

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2

Verifique se a imagem do sistema usada pelo seu AVD foi baixada em $ANDROID_SDK_ROOT/system-images/


2

Eu tive o mesmo problema que, após definir as seguintes variáveis ​​de caminho, desapareceu. Nota O caminho do AVD Home é diferente dos outros três.

insira a descrição da imagem aqui


2

NativeScript

Para qualquer pessoa com problemas para iniciar o emulador Android via NativeScript, é provável que os arquivos ANDROID_HOME e ANDROID_SDK_ROOT tenham sido substituídos.

Como eu consegui criar um problema para mim foi instalando o Android Studio para gerar um emulador diferente. Fiz isso depois de já ter instalado o android sdk via home brew.

Portanto, se durante a instalação do NativeScript, você optou por instalar o android sdk via HomeBrew, o NativeScript definirá o seguinte:

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

Posteriormente, a instalação do Android Studio substituirá esses valores como:

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

Então, naturalmente, há um conflito com o Android studio e a instalação NativeScript / Brew do android sdk. Remover um ou outro e / ou verificar se a variável env contém o caminho correto deve iniciar o emulador.


1

Depois de algum tempo tentando outras "soluções" Googled, a única coisa que funcionou para mim, depois de definir a variável de ambiente ANDROID_SDK_ROOT no Windows, e também adicionar e remover variáveis ANDROID_HOME e ANDROID_SDK_HOME, foi a resposta de Xerox23 - edição config.ini do AVD para codificar o valor de ANDROID_SDK_ROOT na propriedade image.sysdir.1.

Isso estava usando o Android Studio 3.0.1 e o emulador 26.1.4, iniciando o dispositivo virtual a partir do AVD Manager a partir do Android Studio.


1

Para máquinas Windows: Depois de tentar um monte de caminho definido, remova o caminho etc. O que finalmente funciona é localizar a pasta C:\Users\johndoe\.androide excluí-la. Depois disso, você poderá almoçar no seu Android Studio, solicitará que você baixe e instale um novo AVD e substituirá e criará uma nova pasta e arquivos. Isso resolve o problema.


Olá, bom conselho. Todos nós com instalações mais antigas precisamos fazer isso. Depois de seguir e falhar com outras receitas, sua resposta é suficiente. Obrigado!
lm2a 27/04

1

Para resolver esse problema, tive que instalar o pacote com a imagem do sistema ausente usando o SDK Manager.exe (em "C: \ Arquivos de Programas (x86) \ Android \ android-sdk"). Eu havia notado que a imagem do sistema que eu precisava ("android-23") estava ausente em "C: \ Arquivos de Programas (x86) \ Android \ android-sdk \ system-images".

Depois de executar o SDK Manager.exe e instalar os pacotes apropriados, eu poderia executar o emulador no Android Studio.

Aqui está a solução que funcionou para mim:

https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html


1

Siga as etapas abaixo para resolver seu problema

1

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2)

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

3)

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator

1

Resolvi esse problema removendo o arquivo /usr/local/share/android-sdk, porque esse arquivo foi criado quando tentei com o homebrew.

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

é suficiente ....


1

Abra o seu estúdio android e concentre-se na barra de ferramentas.

Vá para Ferramentas> Gerenciador de SDK

Aparência e comportamento> Configurações dos sistemas> Android SDK

Agora, na guia, copie a localização do Android SDK aqui Localização do Android SDK

vá para suas variáveis ​​de ambiente e defina o caminho junto com essas variáveis

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

variáveis ​​ambientais


1
  1. Exclua os dispositivos criados anteriormente.
  2. Feche o estúdio Android.
  3. Abra: Painel de controle -> Sistema e segurança -> Sistema -> Configurações avançadas do sistema -> Variáveis ​​de ambiente.
  4. Crie uma nova variável "ANDROID_SDK_HOME" e defina um novo caminho (no meu caso, era F: \ Coding2019 \ Android \ AVDdevices). Pressione 'ok'.
  5. Abra o Android Studio.
  6. Crie um novo dispositivo. Depois de criar no menu suspenso, clique em "Visualizar detalhes" para ver o novo caminho do novo AVD.

1

ANDROID_SDK_HOME é um ponteiro para a raiz do seu arquivo ".android", que por padrão é criado em "C: \ Usuários \ nome \ .android" e NÃO para a raiz da pasta do SDK. Em seguida: - Atribua ANDROID_SDK_HOME à pasta raiz do SDK não funcionará. - Se o caminho do seu arquivo ".android" tiver caracteres não ASCII, ele não funcionará. - A pasta AVD deve estar dentro do seu arquivo ".android" atual.

Então a resposta é esta:

  • Altere sua pasta SDK, se necessário, como as respostas anteriores (dentro do projeto no Android Studio).
  • Feche o Android Studio.
  • Painel de controle> Sistema> Configurações avançadas do sistema> Variáveis ​​de ambiente.
  • Adicione uma nova variável de usuário: Nome da variável: ANDROID_SDK_HOME Valor da variável: C: \ src (ou qualquer pasta que não tenha problemas com caracteres não ASCII ou privilégios de SO) !
  • Abra o Android Studio. Verifique se uma pasta chamada ".android" foi criada em seu novo local.
  • Exclua o dispositivo virtual Android (AVD) que você criou.
  • Feche e abra o Android Studio.
  • Crie um novo AVD e veja a mágica acontecer.

Felicidades.


1

Tried 的 小 above 注意! 是 avd 目录 不能 包含 tried Eu tentei todos esses métodos acima e ainda recebo o erro, e me pergunto se é porque meu diretório avd contém caracteres chineses. então eu mudo o diretório avd padrão pelas seguintes etapas, e funcionou. 1. crie uma pasta cujo caminho não contenha caracteres não-ascii 2. copie ou recorte a pasta avd padrão $HOME/.androidabaixo da pasta que você acabou de criar 3. adicione PATH ADNDROID_SDK_HOME, e o Android studio encontrará avd abaixo de $ ADNDROID_SDK_HOME / .android / avd

finalmente deu certo! :>


1

Uma correção se o usuário contiver caracteres não ASCII

Para pessoas que estão recebendo " PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT", o motivo disso pode ser que seu usuário contenha caracteres não ASCII .

Portanto, as pastas SDK e .android com a pasta AVD precisam ser movidas para outra pasta.

Alterando o caminho do SDK:

Abra o Android Studio , vá para configurar e escolha o SDK Manager. Altere o local atual do Android SDK para, por exemplo, "C: \ Android \ Sdk" (ou outro local, apenas não na pasta do usuário que contém caracteres não ASCII) .

Depois disso, adicione as seguintes variáveis ​​de sistema:

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

Alterando o caminho do AVD:

Para alterar a localização da pasta AVD (normalmente colocada em " C:\Users\<user name>\.android\avd"), é necessário alterar a .androidlocalização da pasta . Primeiro feche o Android Studio e adicione a variável do sistema ANDROID_SDK_HOMEcom o caminho para o novo local em que você deseja .androidestar, por exemplo, C:\Android_SDK_HOMEconforme usado em outro exemplo:

ANDROID_SDK_HOME C:\Android_SDK_HOME

Depois de adicionar isso, execute o Android Studio . Depois feche novamente. Agora, uma pasta chamada .androiddeveria ter aparecido.

A próxima e última coisa que você precisa fazer é definir a ANDROID_AVD_HOMEvariável do sistema. Nesse caso, estará emC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

Espero que isso resolva o problema para alguns. :)


Bro, muito obrigado. Eu estava pesquisando esse problema no Google e vim para o seu novo post e funcionou!
JangoCG 04/07

0

Encontrei esse problema desde que faço React Native desde os primeiros dias. O Google descontinuou as ferramentas da linha de comando e insiste no Android studio. A solução para mim foi remover as ferramentas da linha de comando

rm -rf /usr/local/Cellar/android-sdk

rm /usr/local/bin/android

abra o AS install sdk v6 conforme as instruções https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio

faça um novo AVD e ele será iniciado sem erros


0

Os erros realmente variam. É útil executar a ./emulator with -verboseopção, pois mostrará os erros reais.

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.