Local do SDK não encontrado. Defina o local com sdk.dir no arquivo local.properties ou com uma variável de ambiente ANDROID_HOME

271

Recentemente, tentei importar exemplos de jogos para Android que baixei do site do desenvolvedor do Google. Depois de importá-los para o Android Studio, estou recebendo o seguinte erro:

Erro: local do SDK não encontrado. Defina o local sdk.dirno arquivo local.properties ou com uma ANDROID_HOMEvariável de ambiente.

O que é isso? Quero executar os programas de amostra do Android Studio.

Sameer Shamsudeen
fonte

Respostas:

246

Siga as etapas abaixo para mim:

  • Vá para o projeto react-native e vá para o diretório android Crie um arquivo com o seguinte nome:

local.properties

  • Abra o arquivo e cole o caminho do SDK do Android como abaixo:

Para usuários do Windows:

sdk.dir=C:\\Users\\UserName\\AppData\\Local\\Android\\sdk

Substitua UserName pelo seu nome de usuário do PC. Verifique também se a pasta é sdk ou Sdk. No meu caso, o nome de usuário do computador é Zahid, portanto o caminho se parece com:

sdk.dir=C:\\Users\\Zahid\\AppData\\Local\\Android\\sdk

Para usuários de Mac:

sdk.dir = /Users/USERNAME/Library/Android/sdk

Onde USERNAME é seu nome de usuário OSX .

Para usuários do Linux (Ubuntu):

sdk.dir = /home/USERNAME/Android/Sdk

Onde username é o seu nome de usuário linux (caminhos Linux são case-sensitive: certifique-se o caso de S, em Sdkjogos)

Caso isso não funcione, adicione a variável ANDROID_HOME em "Variáveis ​​de ambiente" como C:\Users\USER\AppData\Local\Android\Sdk

insira a descrição da imagem aqui

Hoque MD Zahidul
fonte
estou trabalhando com cv aberto, o que devo fazer para adicionar o NDK?
Inocente
Ajudou. Na verdade, esta solução é sugerida no próprio texto do erro. Eu uso o IntelliJ no Mac e na estrutura do projeto tenho o caminho correto do SDK. Por que ainda preciso disso em local.properties?
Alexei Martianov
245

Pode estar faltando um settings.gradlearquivo no projeto. Verifique se o arquivo existe no projeto que você está importando. Caso contrário, adicione o settings.gradlearquivo com o seguinte:

include ':app'

Salve o arquivo e coloque-o na pasta de nível superior no seu projeto.

Joseph
fonte
16
Como posso saber se meu projeto está faltando settings.gradle? Onde esse arquivo geralmente é armazenado? Onde digito include ':app'? O que exatamente faz include ':app'/ gera? Você pode adicionar mais detalhes à sua resposta?
Tot Zam
1
@TotZam sua armazenado na raiz do seu projeto
Joseph
2
Encontrei. Obrigado. Para referência futura, onde eu correria include ':app'? Sou bastante novo no Android e estou tentando encontrar o caminho.
Tot Zam
2
Você não executa include :app, se estiver usando o Android Studio, que permite que o Android Studio adicione seu módulo de projeto para que você possa executá-lo sem mais configurações. Depois de adicionar a linha em settings.gradleque você vai notar o Playbotão torna-se ativo após a conclusão Gradle construção e download de pacotes
José
1
Coloque o nome da pasta do projeto em vez de 'app', se for diferente. Funciona.
Priyank Patel
158

Sei que essa resposta está atrasada, mas espero que ajude outras pessoas.

A resposta é simples. Você precisa apenas copiar seu local.propertiesarquivo para a pasta em que o projeto está armazenado e ele funcionará como um encanto. Mas lembre-se, ele deve ser colocado na pasta raiz onde o projeto está armazenado.

Harsh Mittal
fonte
3
Mas eu tenho que copiá-lo toda vez? Este parece ser um hack do que a abordagem correta
pblead26
É a solução mais fácil para esse problema, pois você não precisa alterar nada no projeto. Também há outra solução na qual você precisa alterar o código, mas acho que, para esse problema, não se pode dar ao luxo de perder muito tempo.
Harsh Mittal
Isso funcionou para mim quando tive esse problema depois de baixar o ExoPlayer 2.1.
user1147171
2
Funciona, mas a Intelij não deve gerar isso automaticamente? tks!
Cesarsicas
4
Isso não funciona para mim. O arquivo está presente, mas ainda tenho o erro
rommex
42

Esse problema é encontrado quando você tenta importar um projeto do Android Studio do arquivo ../app/build.gradle .

Importe o projeto selecionando o arquivo ../build.gradle localizado no diretório raiz do seu projeto.

Michael Saffold
fonte
39

Siga os pontos abaixo para mim:

  1. Vá para sua Project -> Android
  2. Crie um arquivo local.properties
  3. Abra o arquivo
  4. Cole o seu caminho do SDK do Android, dependendo do sistema operacional:

    4.a Windows

    sdk.dir = C:/Users/USERNAME/AppData/Local/Android/sdk

    4.b Linux ou MacOS

    sdk.dir = /home/USERNAME/Android/sdk

    Substitua USERNAMEpelo seu nome de usuário

Anjali-Systematix
fonte
É tarde demais para comentar, mas eu quero saber como fazer isso no MacOS?
Nauman Moazzam
no MacOS, você precisa seguir o mesmo procedimento, basta encontrar o caminho do arquivo SDK do Android e colá-lo no arquivo local.properties ... é isso
Shuvo
37

Confira em seu arquivo local.properties

sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk

escreva corretamente este formato e também verifique / slas usando o caminho

Qutbuddin Bohra
fonte
Eu editei local.properties com este sdk.dir = C: \\ Users \\ sameer \\ Android \ adt-bundle-windows-x86-20140702 \\ sdk, qualquer erro nisso
Sameer Shamsudeen
sim, depois que C colocou \ ... Svae com essa esperança feita. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra
Isso funciona bem com o eclipse. Apenas crie o arquivo local.properties no projeto baixado e cole o sdk.dir. No meu caso, foi: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou
se alguém enfrentando Você não aceitaram os acordos de licença ... erro após a etapa acima veja aqui stackoverflow.com/a/41078173/1778834
yashhy
Eu instalei o Android no meu Windows 10 m / c, mas não existe essa pasta sdk.dir = C \: \\ Usuários \\ USERNAME \\ AppData \\ Local \\ Android?
Rohan Gala
27

Aqui está uma solução alternativa para o problema quando você clica em "Executar aplicativo" (seta verde) e obtém o seguinte na caixa de diálogo Editar configuração :

Erro: selecione Android SDK

No Android Studio, faça:

  1. No menu, escolha File > Settings.
  2. Na caixa de diálogo de configurações, vá para Appearance & Behavior > System Settings > Android SDK.
  3. Veja a localização do SDK do Android e clique no Editbotão
  4. Pressione Próximo, Próximo, Concluir para aceitar os padrões

Isso parece salvar o local do SDK - mesmo que nada tenha mudado - em algum local interno. Inspecionei as pastas .ideae, .gradlemas não vi o que o Studio fez para alterar um arquivo de configuração - mas agora posso executar o aplicativo.

E para resumir as correções anteriores - normalmente elas são válidas para um repositório sem problemas de compilação:

  • O arquivo local.properties é copiado para a pasta raiz pelo Studio.

  • O caminho no arquivo local.properties tem o caminho correto para o SDK do Android - no meu caso, é sdk.dir=C:\\android\\sdk (observe que esse caminho tem um formato diferente - o Studio deve gravar esse arquivo para você com base no campo Entrada de texto nas configurações do SDK do Android diálogo)

  • O arquivo settings.gradle está presente no repositório - e faz referência à pasta do aplicativo (normalmente: app)

Jim Andreas
fonte
3
Esta é a única coisa que me ajudou. Passos # 3 e # 4 são muito importantes
soshial
16

Se você tiver esse problema ao criar um projeto nativo de reação, basta abrir o projeto Android com o Android Studio. Tudo o que você precisa será criado automaticamente.

  • Abra o Android Studio
  • Arquivo -> Abrir
  • Escolha a androidpasta na sua pasta de projeto react-native
  • Aguarde o AndroidStudio para concluir a configuração
  • Agora você pode fechar o Android Studio

OU

Se você instalou o iniciador de linha de comando AndroidStudio :

  • Execute isso na sua pasta raiz react-native
studio android/
  • Aguarde o AndroidStudio para concluir a configuração
  • Agora você pode fechar o Android Studio
gianlucaparadise
fonte
1
Funciona para mim
Vikram Rajput
12

No Linux:

Se você já baixou o SDK do Android, mas não foi encontrado.

O problema pode ser que o arquivo local.propertiesprecisa estar dentro do mesmo diretório que o gradlematerial para gradleencontrá-lo ao criar e executar o adb.

Para o meu projeto react-native usando gradleeu precisava colocar o local.propertiesarquivo na Myprojectname/android/pasta.

Como eu tinha descompactado o SDK para downloads, apenas uso esse caminho no arquivo com uma linha como esta:

sdk.dir=/home/USER/Downloads/android-sdk-linux
Mika
fonte
11

Resolvi esse problema criando a variável de ambiente ANDROID_HOME da seguinte maneira no Windows.

ANDROID_HOME=C:\Users\<user_name>\AppData\Local\Android\sdk

Reinicie o Android Studio, ele deve criar o projeto!

mumair
fonte
Eu já tinha um ANDROID_SDK que aponta para o mesmo diretório, então, para mim, foi:ANDROID_HOME=$ANDROID_SDK
Martijn
10

Me deparei com o mesmo problema, mas uma mensagem de erro um pouco diferente é

Local do SDK não encontrado. Defina o local com uma variável de ambiente ANDROID_SDK_ROOT ou definindo o caminho sdk.dir no arquivo de propriedades locais do seu projeto em "xxx"

MAC e ReactNative

Adicionar local.properties

  1. Encontre a sua localização no Android SDK

    /Users/yourMacUserName/Library/Android/sdk
  2. Crie local.propertiesem rootProject/android/local.properties.

  3. Adicionar caminho sdk nele

    sdk.dir = /Users/yourMacUserName/Library/Android/sdk

Isso normalmente funciona, mas se você estiver trabalhando em uma equipe com outros membros da equipe, yourMacUserNameserá diferente.

OU

Definir ANDROID_SDK_ROOTvariável

  1. Edite seu ~/.zshrcou ~/.bashrcou ...
  2. Adicionar caminho do SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Abra uma nova guia do terminal ou source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT para testar o caminho correto do SDK de impressão.

Como alternativa, você também pode adicionar seu caminho para usar alguns comandos úteis.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools

William Hu
fonte
9

Se você estiver tentando executar o código de amostra do Google Android, tente importar o repositório inteiro em vez de uma amostra individual .

Aqui está a seção relevante de instructions.html , incluída no código de exemplo da API do Google Agenda

  • Importar projeto calendar-android-sample
    • Selecione "Importar projeto ..." ou Arquivo> Importar projeto ...
    • Selecione [someDirectory] /google-api-java-client-samples/build.gradle e clique em OK.
      • Nota: não funcionará se você tentar importar [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Selecione "Usar distribuição local do gradle" com "Página inicial do gradle" de [someDirectory] /gradle-2.2.1 e clique em OK.
Nate
fonte
6

Não há uma única razão para esse erro.

  1. settings.gradle pode estar faltando ou o conteúdo pode estar errado.
  2. local.properties pode estar faltando ou o caminho do sdk pode estar errado.
Arhat Baid
fonte
1
que tipo de conteúdo deve estar no arquivo settings.gradle?
Cabanni 11/07/2018
O @cabanni settings.gradle inclui apenas o módulo no seu aplicativo. Por padrão, será o módulo 'app'. Espero que ajude / #
Arhat Baid
5

Basta remover a pasta .idea e importar o projeto novamente. Funcionou para mim.

Akshay Sharma
fonte
4

crie um arquivo local.properties no diretório raiz do seu projeto com o seguinte conteúdo

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Oct 24 17:40:53 CEST 2017

sdk.dir=/Users/****/Library/Android/sdk
Ilker Baltaci
fonte
4
  1. Vá para o projeto React-native -> Android
  2. Crie um arquivo local.properties

  3. Abra o arquivo

  4. cole seu caminho do SDK do Android como abaixo

     in Windows sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
    
     in macOS sdk.dir = /Users/USERNAME/Library/Android/sdk
    
     in linux sdk.dir = /home/USERNAME/Android/Sdk
  5. Substitua USERNAME pelo seu nome de usuário

  6. Agora, execute o run-android react-native em seu terminal

ou

Às vezes, o projeto pode estar sem um arquivo settings.gradle. Verifique se o arquivo existe no projeto que você está importando. Caso contrário, adicione o arquivo settings.gradle com o seguinte:

    include ':app'

Salve o arquivo e coloque-o na pasta de nível superior no seu projeto.

Dinush Chathurya
fonte
3

coloque essas duas linhas no seu arquivo .bashrc e execute source ~/.bashrc

export ANDROID_HOME=/Users/$USER/Library/Android/sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Para linux eu fiz isso (para a primeira linha)

export ANDROID_HOME=/home/$USER/Android/Sdk
Tzvetlin Velev
fonte
2

a melhor e a maneira mais fácil é criar a nova pasta "app" para mover o projeto Android do projeto que não está funcionando para o recém-criado e adicionar as dependências necessárias no nível do seu novo projeto e tudo funcionará perfeitamente)

Armen Hovhannisian
fonte
Isso corrigiu o problema no mac High Serria e no Windows 10. Ótima resposta e eficiente.
Val
2

Se tudo mais falhar, copie o local.propertiesarquivo para a raiz do diretório do projeto. Simplesmente.

tim4dev
fonte
2

Para usuários de Mac / Linux

Você precisa adicionar ANDROID_HOMEao seu caminho, adicione o seguinte ao seu .bashrc || .zshrc || .profilearquivo

# change $HOME to the path where you installed android Sdk
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools

Então corra

$ source ~/.bashrc || .zshrc || .profile

Variáveis ​​de ambiente em bash_profile ou bashrc?

Diferença entre .bashrc e .bash_profile

Junius L.
fonte
2

Esta solução realmente funciona para mim. Vá para este pc -> Propriedades -> Configurações avançadas do sistema -> Variáveis ​​de ambiente -> Em seguida, na variável do sistema, crie uma nova variável com o nome ANDROID_SDK_ROOT e value C: \ Users {USERNAME (substitua-o pelo seu nome de usuário } \ AppData \ Local \ Android \ Sdk

e verifique se o Android mobile real, usando a depuração USB, está ativado. (muito importante)

feche o cmd e reinicie-o.

Hrishikesh Baidya
fonte
2

No meu caso, tive que fechar o Project e abrir novamente. Funcionou bem. Como isso

Fechar projeto

insira a descrição da imagem aqui

E novamente Open Project Again

insira a descrição da imagem aqui

Muhaiminur Rahman
fonte
Depois de adicionar o caminho sdk.dir e também para ~ / .bashrc, nada funcionou. Mas então eu fechei e abri novamente e funcionou. Obrigado!
grc 5/04
1

Eu recebi esse erro depois de clonar recentemente um repositório. Eu esperava que o local.properties fosse gerado automaticamente, mas não era. Consegui gerá-lo reimportando o projeto Gradle.

File > Re-import Gradle Project
M. Palsich
fonte
Isso ajudou. Depois que "Reimportar o Gradle Project" foi iniciado, os 2 erros a seguir foram impressos no console, o que me ajudou a detectar o problema: Configuração inválida do Gradle JDK encontrada , o Project JDK não está especificado . Então, tudo começou a funcionar depois que eu corrigi o caminho do JDK em Configurações.
quer
Depois que o caminho do JDK foi corrigido, também tive que reiniciar o IDE com a opção "Arquivo> Invalidar caches / reiniciar ...".
quer
1

Qualquer pessoa que use o Jenkins pode ser útil

Você precisa definir um nome de variável global ANDROID_HOMEcom o valor do caminho para o android sdk.

Para mac, é /Users/YOUR_USER_NAME/Library/Android/sdk

touhid udoy
fonte
1

Eu estava pensando que seu arquivo setting.gradle está ausente. Copie este arquivo em outro projeto e cole o seu projeto.

no arquivo setting.gradle,

include ':app'

Isso é tudo. Tenha um bom dia.

ozanurkan
fonte
1

Para mim, o problema era que eu não criei nenhum dispositivo virtual após a nova instalação do android studio. Portanto, a expo continuou reclamando vagamente sobre o local sdk, enquanto o principal problema era a falta de dispositivos virtuais. Espero que isso ajude alguém no futuro, me fez procurar por algumas horas.

PS: aqui você pode descobrir como criar um https://developer.android.com/studio/run/managing-avds

Omar Dulaimi
fonte
0

Verifique: 1. Nas configurações do módulo, se a localização do SDK é adequada. 2. Se Sim, verifique o arquivo local.properties (não aquele colocado dentro do módulo do aplicativo, mas aquele colocado fora do módulo do aplicativo, no nível pai). Se não estiver presente, adicione-o com as linhas abaixo dentro dele.

sdk.dir=/path/to/sdk/../Android/Sdk
Max Droid
fonte
0

Acabei de enfrentar o problema quando clonei meu repositório no Github e executei ./gradlew clean assembleDebug. Confirmo que tenho ANDROID_HOME no meu arquivo .bashrc.

Então, importei o projeto para o Android Studio. Notado que a extensão do meu arquivo settings.gradle é .kts, settings.gradle.kts. Quando terminei a importação, executei ./gradlew clean assembleDebuge não obtive nenhum problema.

Hesam
fonte
0

eu tentei

sdk.dir = \Users\OLUWAGBEMIGA\AppData\Local\Android\sdk 

e funcionou, eu simplesmente colei na pasta do projeto e fora dela.

Na variável de ambiente, também usei o link sdk acima e o nome ANDROID_HOMEcomo o nome do caminho. Feche tudo reabra e Cabom tudo funcionou

John Akinola
fonte