Falha ao localizar a variável de ambiente 'ANDROID_HOME'

131

Estou tentando criar um projeto iônico-android e tenho o android sdk instalado.

Pacotes instalados do gerenciador do SDK

O nome do meu projeto é myApp. Adicionei com sucesso a plataforma android ao myApp. Mas quando eu tento construir o projeto

~/myApp$ sudo ionic build android

resultado é

Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
  add to body class: platform-android
  ERROR building one of the platforms: Failed to find 'ANDROID_HOME'  environment variable. Try setting setting it manually.
  Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

veja a variável ANDROID_HOME e PATH

echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin

Vi quase o mesmo tipo de perguntas no estouro de pilha, mas nenhuma funciona para mim. Há algo de errado com a minha configuração android-sdk? Como posso construir este projeto?

Hari Krishnan
fonte
2
Seu ANDROID_HOME se parece mais com um PATH. Quando você eco, ele só deve retornar /home/hari/Android/Sdk(assumindo que é correto)
OneCricketeer
Veja a minha resposta sobre [esta pergunta] ( stackoverflow.com/questions/35110403/... ) que irá corrigi-lo para você
Ramy hakam
Eu tenho que entrar sempre que abro o terminal, como eu o persisto?
Luke Flournoy
@LukeFlournoy Veja as "Priori as coisas" (passos 1 e 2) de esta resposta
Diego Somar

Respostas:

200

Convém confirmar que seu ambiente de desenvolvimento foi definido corretamente.

Citando spring.io :

Configurar o ambiente de desenvolvimento Android

Antes de criar aplicativos Android, você deve instalar o Android SDK. A instalação do Android SDK também instala o AVD Manager, uma interface gráfica do usuário para criar e gerenciar dispositivos virtuais Android (AVDs).

  1. No site do Android , baixe a versão correta do SDK do Android para o seu sistema operacional.

  2. Descompacte o arquivo compactado em um local de sua escolha. Por exemplo, no Linux ou Mac, você pode colocá-lo na raiz do diretório do usuário. Consulte o site Android Developers para obter detalhes adicionais da instalação.

  3. Configure a ANDROID_HOMEvariável de ambiente com base na localização do SDK do Android. Além disso, considere adicionar ANDROID_HOME/toolse ANDROID_HOME/platform-toolsao seu PATH.

Mac OS X

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Linux

export ANDROID_HOME=/<installation location>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

janelas

set ANDROID_HOME=C:\<installation location>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

O download do SDK do Android não inclui plataformas Android específicas. Para executar o código neste guia, você precisa baixar e instalar a plataforma mais recente do SDK. Você faz isso usando o Android SDK e o AVD Manager que você instalou na seção anterior.

  1. Abra a janela do Android SDK Manager :

    android

    Nota: Se este comando não abrir o Android SDK Manager , seu caminho não está configurado corretamente.

  2. Marque a caixa de seleção Ferramentas .

  3. Marque a caixa de seleção do SDK do Android mais recente .

  4. Na pasta Extras , marque a caixa de seleção da Biblioteca de suporte do Android .

  5. Clique nos pacotes de instalação ... botão para concluir o download e a instalação.

    Nota: convém instalar todas as atualizações disponíveis, mas lembre-se de que isso levará mais tempo, pois cada nível da API é um download grande.

Brad W
fonte
1
no 3 (configure a variável ANRDOID_HOME): Em qual arquivo esse deve ser?
Sumi
@suMi, você executa o comando de exportação do seu terminal com base em seu sistema operacional e altera o PATH que você definiu como ANDROID_HOMEigual, com base em onde você salvou o SDK. Consulte stackoverflow.com/questions/19986214/… para obter mais detalhes.
21716 Brad Brad W
@suMI Se você quiser que as alterações sejam permanentes, adicione essas linhas ao seu .bashrc se estiver no linux ou no mac.
brt
se alguém enfrentando esse problema criando a partir do teamcity, você precisa criar parâmetros env no teamcity para ANDROID_HOME.
lawphotog
O que é isso /android-sdk-linux, toolse platform-tools? Eu não vejo esses diretórios no meu /opt/android-studio. Meu Android Studio está em execução, mas não tenho esses diretórios.
Dzintars
38

No Linux

Primeiro, defina ANDROID_HOME no arquivo .bashrc

Comando de execução

sudo gedit ~/.bashrc

defina o caminho andoid sdk onde você instalou

export ANDROID_HOME=/opt/android-sdk-linux 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

recarregar comando de execução de arquivo

source ~/.bashrc

Agora verifique a plataforma instalada, execute o comando

ionic platform

Resultado

Installed platforms:
  android 6.0.0
Available platforms: 
  amazon-fireos ~3.6.3 (deprecated)
  blackberry10 ~3.8.0
  browser ~4.1.0
  firefoxos ~3.6.3
  ubuntu ~4.3.4
  webos ~3.7.0

se o android já estiver instalado, será necessário remover e instalar novamente

ionic platform rm android
ionic platform add android

Se ainda não estiver instalado, adicione a plataforma Android

ionic platform add android

Verifique se você adicionou a plataforma Android sem o comando sudo

Se você ainda está recebendo erro ao adicionar o Android Platfrom, como segue

Erro: EACCES: permissão negada, abra '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'

Por favor, vá para / home / ubuntu / e remova a pasta .cordova de lá

cd /home/ubuntu/
sudo rm -r .cordova

Agora execute o comando a seguir novamente

ionic platform add android

Depois de adicionar a plataforma com sucesso, você poderá construir o andoid em iônico.

obrigado

Dineshaws
fonte
14
da versão 3.0.0 é ionic cordova platform add android.
Baumi 15/05
28

Estas são as etapas que você precisa seguir para configurar com êxito o seu Projeto Ionic para trabalhar com o emulador do Android:

  1. Crie um projeto iônico: abas ionic start appName (para o tema da aba)
  2. cd appName
  3. sass configuração iônica
  4. Para iniciar o aplicativo na Web: serviço iônico

Para adicionar a plataforma Android:

Priori Things

Primeiro você precisa configurar as variáveis ​​de ambiente. Para isso, você precisa considerar 3 arquivos:

1. ~ / .profile (Para configurar as variáveis ​​sempre que o terminal for aberto ou o computador inicializado):

// Código que você precisa acrescentar no último

set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2. / etc / environment (para definir as variáveis ​​de ambiente):

// Todo o conteúdo do arquivo

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>

3. / etc / profile :

// Código que você precisa adicionar no último

JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

Para carregar as alterações acima feitas no arquivo, você precisa executar o seguinte comando:

source ~/.profile
source /etc/environment
source /etc/profile

Coisas de Posteori

1. Adicione plataforma: plataforma iônica add android (Observe que você precisa executar este comando sem o sudo )

2. Se você ainda estiver recebendo erro no comando acima, faça o seguinte: (aqui appName = helloWorld)

    cd ..
    sudo chmod -R 777 helloWorld
    cd helloWorld 
    ionic platform add android
    If you are still getting the error then remove ".cordova" folder from the home directory of your PC.

3) Para executar o aplicativo no emulador do Android: ionic run android

Obrigado!

Nikhil Arora
fonte
Obrigado Nikhil, funcionou para mim também. Depois de tentar muitas coisas - ele trabalhou com os passos acima, você fornecidas :-)
Rajeev Jayaswal
Acabei tendo um problema de 'loop de login' depois de adicionar as variáveis ​​Java e android ao / etc / environment. Felizmente, consegui remover isso do logon do terminal (ctrl + alt + F3) e o logon está normal agora.
Harry
8

Para aqueles que possuem uma edição portátil do SDK no Windows, basta adicionar o 2 caminho a seguir ao seu sistema.

F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools

Isso funcionou para mim.

BoCyrill
fonte
Eu me pergunto por que minha resposta foi rejeitada. É possível ter o motivo dessa ação?
BoCyrill
2
porque você não está dizendo como adicioná-los?
Florian Lauterbach
1
Exatamente, você não especificou como fazer esse processo.
Anuj
8

Eu já tive esse problema antes.
Você precisa adicionar sdks\toolse sdks\build-toolsao caminho do ambiente.

Jalaleddin Hosseini
fonte
5

Execute: sudo gedit ~/.bashrc add

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

e

source ~/.bashrc
Diego Salguero
fonte
5

11 de abril de 2019

Nenhuma das respostas acima resolveu meu problema, então eu queria incluir uma solução atual (a partir de abril de 2019) para pessoas que usam o Ubuntu 18.04. Foi assim que resolvi a questão acima ...

  1. Instalei o Android SDK a partir do site e coloquei nesta pasta:/usr/lib/Android/
  2. Procure onde o SDK está instalado e a versão. No meu caso, foi aqui:

    /usr/lib/Android/Sdk/build-tools/28.0.3

    Nota: estou usando a versão 28.0.3, sua versão pode ser diferente.

  3. Adicione ANDROID_HOMEao caminho do ambiente. Para fazer isso, abra / etc / environment com um editor de texto:

    sudo nano /etc/environment

    Adicione uma linha para ANDROID_HOMEsua versão e caminho específicos. No meu caso, foi:

    ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"

  4. Por fim, forneça o ambiente atualizado com: source /etc/environment

    Confirme isso tentando: echo $ANDROID_HOMEno terminal. Você deve obter o caminho da sua variável recém-criada.

    Uma observação adicional sobre o fornecimento, tive que reiniciar o computador para o terminal VScode para reconhecer minhas alterações. Após a reinicialização, o ambiente foi definido e não tive mais problemas desde então.

bsheps
fonte
2

Gostaria de compartilhar uma resposta que também demonstre uma abordagem usando o Android SDK fornecido pelo repositório Ubuntu:

Instale o SDK do Android

sudo apt-get install android-sdk

Exportar variáveis ​​ambientais

export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"
Muhammad Numan
fonte
1

Vim aqui do google procurando o mesmo problema e perdi 4 horas para descobrir o que poderia estar errado. E agora me sinto realmente estúpido ao postar esta resposta. No meu caso, SDK, JDK, JRE, Ant e tudo o mais estava instalado e funcionando um dia antes.

Mas apenas um projeto em particular estava me dando esse problema. Este estava sob "C: \ Users \ Nome \ Documents" localização

Logo percebi que estava executando o cmd como usuário normal, assim que escolhi " Executar como Administrador " tudo começou a funcionar.

Dica: sempre considere a localização do projeto com cuidado!

Bater em
fonte
1

Isso resolveu meu problema. Adicione abaixo ao caminho do sistema

PATH_TO_android \ plataformas

PATH_TO_android \ platform-tools

PKInd007
fonte
0

Eu experimentei esse problema no computador windows7: o desligamento do computador enquanto o serviço iônico estava em execução (suponho que esse foi o problema que corrompeu tudo)

Remova o nó COMPLETAMENTE e reinstale tudo em uma nova cópia do nó

DudeOfLayers
fonte
0

No Windows, se você estiver executando este comando no terminal de código VS e mesmo depois de configurar toda a variável de ambiente (ferramentas de construção, ferramentas de plataforma, ferramentas), não está funcionando tentando executar o mesmo comando no terminal cmd externo. No meu caso, mesmo depois de iniciar um novo terminal de código VS, ele não conseguiu seguir o caminho do ambiente atualizado.

Funcionou quando executei o mesmo comando no cmd do Windows.

himanshu goyal
fonte
0

Para definir o ambiente ANDROID_HOME no ubuntu 20.04, visite a loja de snap do Ubuntu, instale o Android studio e abra

vim $HOME/.bashrc

E defina as variáveis ​​de ambiente da seguinte maneira:

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/emulator:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}

Nas versões recentes do Android studio, substitua ANDROID_HOME por ANDROID_SDK_ROOT, caso contrário, as compilações reclamarão que ANDROID_HOME está obsoleto.

Hamfri
fonte