editar: (ago-2016)
Essa pergunta é de novembro de 2013 (enquanto o Android Studio ainda estava no modo de visualização do desenvolvedor),
Atualmente (AS v2.2, agosto de 2016) durante a instalação, o AS pede para escolher a pasta SDK (ou instalar por padrão) e se aplica automaticamente a qualquer projeto que você esteja abrindo.
Isso significa que qualquer solução ou solução possível é irrelevante, pois o problema não é mais reproduzível.
pergunta original:
temos este projeto com vários módulos que já estão configurados e executados corretamente em outro PC de desenvolvedor usando um wrapper. Eu clonei os submódulos completos do git na minha máquina.
Abaixo está uma impressão direta da minha linha de comando:
$ ./gradlew
FAILURE: Build failed with an exception.
* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 6.378 secs
$ echo $ANDROID_HOME
/home/budius/Applications/android-studio/sdk
$
então, como você pode ver, o ANDROID_HOME está lá. O que mais eles querem? O que há de errado aqui.
rodando no Ubuntu 13.04
editar:
Eu já criei um arquivo local.properties sdk.dir=<path>
na raiz do projeto e ele funciona. Mas isso dificulta a portabilidade do código entre os sistemas e cria o servidor, então a questão ainda está em aberto.
Alguém sabe por que o ANDROID_HOME não está funcionando e o que fazer para fazê-lo funcionar?
settings.gradle
arquivo à pasta do projeto.Respostas:
Eu resolvi o problema. Isso funciona para mim:
No
Eu criei um arquivo chamado local.properties e coloquei dentro
No console eu preciso fazer
Espero que isto ajude.
fonte
No OSX , o IntelliJ não seleciona as variáveis de ambiente definidas no seu .bash_profile ou .bash_rc, etc ...
Tente isso, substituindo o valor do seu próprio local sdk:
launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk
Em seguida, reinicie o IntelliJ e Bob é seu tio.
Aqui está uma referência ao problema, declarada de maneira mais geral: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
fonte
launchctl setenv ANDROID_HOME ~/Library/Android/sdk
launchctl setenv ANDROID_HOME $ANDROID_HOME
elaunchctl setenv JAVA_HOME $JAVA_HOME
No meu caso
settings.gradle
estava faltando.Salve o arquivo e coloque-o na pasta de nível superior do seu projeto, mesmo que você possa copiar de outro projeto também.
Referência da captura de tela:
Espero que isso economize seu tempo.
fonte
Isso funciona para mim:
fonte
O plugin Android Gradle ainda está na versão beta e isso pode ser simplesmente um bug. Para mim, definir ANDROID_HOME funciona, mas podemos estar em versões diferentes (tente novamente com a versão mais recente e deixe-me saber se funciona ou não).
Também vale a pena definir a variável de ambiente ANDROID_SDK e ANDROID_HOME.
Eu já vi problemas com isso em algumas máquinas, por isso criamos local.properties nesses casos - também notei que a versão mais recente do Android Studio criará esse arquivo para você e preencherá a propriedade sdk.dir.
Observe que você não deve verificar local.properties no controle de versão, nós o adicionamos ao nosso gitignore para que não interfira na portabilidade do código nos sistemas que você identificou como um problema em potencial.
fonte
sdk.dir=/path/to/android/sdk
funcionou para mim. Estou correndo Gradle como parte de um projeto criado com IntelliJ 13.0.2Por qualquer motivo, o script gradle não está captando o valor de ANDROID_HOME do ambiente. Tente especificá-lo na linha de comando explicitamente
fonte
Eu enfrentei o mesmo problema, embora eu tivesse o arquivo local.properties no meu módulo principal e a variável de ambiente ANDROID_HOME definida no nível do sistema.
O que corrigiu esse problema foi quando copiei o arquivo local.properties que estava no meu módulo principal do projeto para a raiz de todo o projeto (ou seja, o pai do diretório no seu módulo principal)
Tente copiar o arquivo local.properties dentro dos módulos e no diretório raiz. Deveria trabalhar.
fonte
Me deparei com o mesmo problema ao abrir um repositório git clonado. O arquivo local.properties é adicionado automaticamente ao arquivo .gitignore, pois é específico para o ambiente de construção de cada máquina e, portanto, não faz parte do repositório.
A solução é importar o projeto, em vez de apenas abri-lo após a clonagem do git, isso força o android studio a criar o arquivo local.properties específico para sua máquina:
Arquivo >> Importar projeto >>
fonte
MAC OS X:
~/.bash_profile
adicionar:
export ANDROID_HOME=~/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools
Corre:
source ~/.bash_profile
Reinicie o Terminal e o Android Studio
fonte
Como fazer isso no MAC OSX:
1) Abra o Terminal e edite:
vi ~/.bash_profile
se não houver arquivo, basta adicioná-lo.2) Adicionar (mude para SEU NOME DE USUÁRIO e adicione este):
#Java var home: JAVA_HOME="/usr/libexec/java_home" ANDROID_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"
3) Corra
source ~/.bash_profile
.4) Executar
echo $JAVA_HOME; echo $ANDROID_HOME;
5) Se sua saída for:
/usr/libexec/java_home /Users/<YOUR USER NAME>/Library/Android/sdk
Então você é bom.
e reinicie o android studio!
E, verifique se você tem java :)
java -version
And gradle :)
gradle --version
fonte
export ANDROID_HOME
ANDROID_HOME
e, em seguidasource ~/.bash_profile
, executo , isso é permeante (executarsource
é bom se você não quiser fazer logout, logon ou reinicialização). No seu caso,export ANDROID_HOME
após uma reinicialização ou login, a variável de ambienteANDROID_HOME
no mac desaparecerá.Copie o local.properties para a pasta raiz e execute novamente.
fonte
Isso funcionou para mim (Ubuntu):
Adicionar
ANDROID_HOME=/path/to/android-sdk
a/etc/environment
.Reinicie.
fonte
no windows, defino ANDROID_HOME = E: \ android \ adt-bundle-windows-x86_64-20131030 \ sdk Então, ele funciona como esperado.
No Linux, você precisa definir o sdk.dir.
O script usa duas variáveis diferentes.
fonte
sdk.dir=C:\\Users\\username\\AppData\\Local\\Android\\Sdk
Eu tenho o mesmo problema, parece que o código de amostra não consegue encontrar o ambiente android, em vez disso, para tentar corrigir o problema, removo o código de amostra de settings.gradle e a instalação é boa.
depois disso basta importar o projeto no eclipse e é tudo :)
fonte
No Linux, tente executar o studio.sh a partir de um terminal e defina o ANDROID_HOME neste terminal. Isso funcionou para mim.
fonte
Se você estiver usando o Windows Plantform, tente executar o Android Studio como administrador
fonte
Basta apagar a sdk.dir dentro do arquivo local.preoperties e definir o ANDROID_HOME variável de ambiente. Funcionou para mim.
fonte
exporte ANDROID_HOME = / xxx / xxx / no shell e use-o por System.env.ANDROID_HOME no arquivo gradle.
PS: não esqueça as palavras-chave 'export' para tornar o ANDROID_HOME global.
fonte
export
importante nesta resposta é importante observar. Eu tinhaANDROID_HOME
definido, e estava adicionando isso aPATH
, mas se não o fizerexport ANDROID_HOME
, gradle não será capaz de encontrá-lo.Seu arquivo local.properties pode estar ausente. Nesse caso, adicione um arquivo chamado 'local.properties' dentro de /local.properties e forneça o local sdk da seguinte maneira.
sdk.dir = C: \ Usuários \\ AppData \ Local \ Android \ Sdk
fonte
Eu configurei o ANDROID_HOME = [PATH_OF_MY_ANDROID_SDK] para minha variável de ambiente. Essa solução funciona para mim.
fonte
Acabei de resolver o mesmo problema adicionando o ANDROID_HOME como uma variável de todo o sistema. No Ubuntu, ele deve estar em / etc / profile ou em um arquivo de script de shell em /etc/profile.d/
Em seguida, efetue logout e login novamente, agora o Gradle deve reconhecer a variável ANDROID_HOME.
fonte
Me deparei com um problema semelhante. De alguma forma, eu não tinha uma pasta de compilação no meu projeto. Ao copiar esta pasta de outro projeto para o meu projeto, eu estava tendo um problema, isso corrigia o problema.
fonte
Instalar o Build-Tools 23.0.1 em vez de 23.0.2 corrigiu esse problema para mim.
fonte
soluções:
1 adicione "sdk.dir = caminho_de_sdk"
2 execute gradlew com a variável evn como a seguir:
$ ANDROID_HOME = caminho_de_sdk ./gradlw
fonte
Você disse que o controle de versão local.properties cria problemas para você. Eu hackeei um script que usa a ferramenta de linha de comando do Android para atualizar o arquivo local.properties nas máquinas envolvidas na produção. o comando android update project , além do local.properties produz muito lixo indesejado (pelo menos para mim), que é o motivo de todos esses comandos rm no final do script.
Esse script é a primeira coisa que executamos em qualquer nova máquina onde codificamos. Ele deve ser executado no diretório raiz do projeto. Obviamente, o Android Studio pode ter uma maneira GUI de lidar com isso, mas eu não saberia se eu usasse um editor diferente. Também não posso afirmar que a solução é geral, mas "funciona para mim" (tm).
fonte
Eu enfrentei o mesmo problema no Ubuntu (ambos
local.properties
eANDROID_HOME
foi adicionado), mas a falha de compilação persistiu. Portanto, a solução alternativa é adicionar as seguintes linhasexport ANDROID_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools
diretamente para o
studio.sh
script (dentro/usr/local/android-studio/bin
)Talvez seja útil.
fonte
Encontrei o mesmo erro, mas no meu caso eu estava clonando um projeto, o projeto clonado foi criado com a API 22 do Android, que eu não instalei no momento (eu tinha a API 24 e 25 instaladas) ........ eu tive que baixar as ferramentas sdk para API 22
fonte
Para Windows:
fonte
No meu sistema (Ubuntu 20.04 após duas atualizações de versão a partir do 19.04), os sintomas eram como se
gradle
(4.4.1 instalado a partir de repositórios APT) ignorasseANDROID_HOME
a variável de ambiente, enquanto pegava osdk.dir
valor emlocal.properties
se eu criei uma.O motivo parecia ter sido esse
java
comando mencionadoopenjdk version "11.0.7"
. Depois de instalar oopenjdk-8-jdk
pacote e fazerupdate-alternatives --config java
com que o padrãojava
seja a versão 8 ("1.8.0_252"
),gradle
comecei a funcionar conforme o esperado.fonte
Essa pergunta é de novembro de 2013 (enquanto o Android Studio ainda estava no modo de visualização do desenvolvedor),
Atualmente (AS v2.2, agosto de 2016) durante a instalação, o AS pede para escolher a pasta SDK (ou instalar por padrão) e se aplica automaticamente a qualquer projeto que você esteja abrindo.
Isso significa que qualquer solução ou solução possível é irrelevante, pois o problema não é mais reproduzível.
fonte