Ubicación del SDK no encontrada. Defina la ubicación con sdk.dir en el archivo local.properties o con una variable de entorno ANDROID_HOME

271

Hace poco intenté importar juegos de Android de muestra que descargué del sitio web para desarrolladores de Google. Después de importarlos a Android Studio, recibo el siguiente error:

Error: no se encuentra la ubicación del SDK. Defina la ubicación con sdk.diren el archivo local.properties o con una ANDROID_HOMEvariable de entorno.

¿Que es esto? Quiero ejecutar los programas de muestra de Android Studio.

Sameer Shamsudeen
fuente

Respuestas:

246

Al proyecto le puede faltar un settings.gradlearchivo. Asegúrese de que el archivo exista del proyecto que está importando. Si no, agregue el settings.gradlearchivo con lo siguiente:

include ':app'

Guarde el archivo y colóquelo en la carpeta de nivel superior de su proyecto.

Joseph
fuente
16
¿Cómo puedo saber si falta mi proyecto settings.gradle? ¿Dónde se suele guardar ese archivo? ¿Dónde escribo include ':app'? ¿Qué hace include ':app'/ genera exactamente ? ¿Puedes agregar más detalles a tu respuesta?
Tot Zam
1
@TotZam está almacenado en la raíz de su proyecto
Joseph
2
Lo encontré. Gracias. Para referencia futura, ¿dónde correría include ':app'? Soy bastante nuevo en Android e intento encontrar el camino.
Tot Zam
2
No está ejecutando include :app, si está utilizando Android Studio, eso le permite a Android Studio agregar su módulo de proyecto para que pueda ejecutarlo sin más configuración. Después de agregar la línea settings.gradle, notará que el Playbotón se activa después de que Gradle termine de construir y descargar paquetes
Joseph
1
Ponga el nombre de la carpeta de su proyecto en lugar de 'aplicación' si es diferente. Funciona.
Priyank Patel
246

Por favor, siga los pasos a continuación, funciona para mí:

  • Vaya a su proyecto react-native y luego vaya al directorio de Android Cree un archivo con el siguiente nombre:

propiedades locales

  • Abra el archivo y pegue la ruta del SDK de Android como se muestra a continuación:

Para usuarios de Windows:

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

Reemplace UserName con el nombre de usuario de su PC. También asegúrese de que la carpeta sea SDK o SDK. En mi caso, el nombre de usuario de mi computadora es Zahid, por lo que la ruta se ve así:

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

Para usuarios de Mac:

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

Donde USERNAME es su nombre de usuario OSX .

Para usuarios de Linux (Ubuntu):

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

Donde nombre de usuario es su nombre de usuario de Linux (Linux caminos entre mayúsculas y minúsculas: asegúrese de que el caso de las Sde Sdklos partidos)

En caso de que esto no funcione, agregue la variable ANDROID_HOME en "Variables de entorno" como C:\Users\USER\AppData\Local\Android\Sdk

ingrese la descripción de la imagen aquí

Hoque MD Zahidul
fuente
Estoy trabajando con Open CV ¿Qué debo hacer para agregar NDK?
Inocente
Eso ayudo. En realidad, esta solución se insinúa en la redacción del error en sí. Uso IntelliJ en Mac y en la estructura del proyecto tengo la ruta correcta del SDK. ¿Por qué todavía necesito eso en local.properties entonces?
Alexei Martianov
158

Sé que esta respuesta llega tarde, pero espero que ayude a otros.

La respuesta es simple. Solo tiene que copiar su local.propertiesarchivo a la carpeta donde está almacenado el proyecto y funcionará de maravilla. Pero recuerde, debe colocarse en la carpeta raíz donde se almacena el proyecto.

Mittal áspero
fuente
3
¿Pero tengo que copiarlo cada vez? Esto parece un truco que el enfoque correcto
pblead26
Es la solución más fácil para este problema, ya que no tiene que cambiar nada en el proyecto. También hay otra solución en la que tiene que hacer un cambio en el código, pero creo que para tal problema uno no puede permitirse perder mucho tiempo.
Harsh Mittal
Esto funcionó para mí cuando tuve este problema después de descargar ExoPlayer 2.1.
user1147171
2
Funciona, pero ¿Intelij no debería generar esto automáticamente? tks!
cesarsicas
44
Esto no funciona para mi. El archivo está presente, pero aún tengo el error
rommex
42

Este problema se encuentra cuando intenta importar un proyecto de Android Studio desde ../app/build.gradle archivo .

Importe el proyecto seleccionando el archivo ../build.gradle ubicado en el directorio raíz de su proyecto.

Michael Saffold
fuente
39

Por favor, siga los siguientes puntos, funciona para mí:

  1. Ir a tu Project -> Android
  2. Crear un archivo local.properties
  3. Abre el archivo
  4. Pegue la ruta del SDK de Android según el sistema operativo:

    4.a Windows

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

    4.b Linux o MacOS

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

    Reemplazar USERNAMEcon su nombre de usuario

Anjali-Systematix
fuente
Es demasiado tarde para comentar, pero quiero saber cómo hacerlo en MacOS.
Nauman Moazzam
en MacOS, debe realizar el mismo procedimiento, solo necesita encontrar la ruta del archivo SDK de Android y pegarlo local.properties file ... eso es todo
Shuvo
37

Verifique en su archivo local.properties

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

escriba correctamente este formato, y también verifique / slas usando for path

Qutbuddin Bohra
fuente
Edité local.properties con este sdk.dir = C: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk, cualquier error en esto
Sameer Shamsudeen
Sí, después de que C puso \ ... Svae con esto hecho. sdk.dir = C \: \\ Users \\ sameer \\ Android \\ adt-bundle-windows-x86-20140702 \\ sdk
Qutbuddin Bohra el
Esto funciona bien con eclipse. Simplemente cree el archivo local.properties dentro del proyecto descargado y pegue el sdk.dir. En mi caso fue: "sdk.dir = C \: \\ adt-bundle-windows-x86_64-20140321 \\ sdk"
George Papatheodorou
si alguien enfrenta No ha aceptado los acuerdos de licencia ... error después del paso anterior, consulte aquí stackoverflow.com/a/41078173/1778834
yashhy
He instalado Android en mi Windows 10 m / c pero no existe tal carpeta sdk.dir = C \: \\ Users \\ USERNAME \\ AppData \\ Local \\ Android?
Rohan Gala
27

Aquí hay una solución para el problema cuando hace clic en "Ejecutar aplicación" (flecha verde) y obtiene lo siguiente en el cuadro de diálogo Editar configuración :

Error: seleccione Android SDK

En Android Studio, haz:

  1. Del menú, elija File > Settings.
  2. En el cuadro de diálogo de configuración, vaya a Appearance & Behavior > System Settings > Android SDK .
  3. Busque en la parte superior la ubicación del SDK de Android y haga clic enEdit botón
  4. Presiona Siguiente, Siguiente, Finalizar para aceptar los valores predeterminados

Esto parece guardar la ubicación del SDK, aunque nada ha cambiado, en alguna ubicación interna. Inspeccioné el .ideay.gradle carpetas pero no vi qué hizo Studio para cambiar un archivo de configuración, pero ahora puedo ejecutar la aplicación.

Y para resumir las correcciones anteriores, estas normalmente están bien para un repositorio sin problemas de compilación:

  • Studio copia el archivo local.properties en la carpeta raíz.

  • La ruta en el archivo local.properties tiene la ruta correcta al SDK de Android; en mi caso, es sdk.dir=C:\\android\\sdk (tenga en cuenta que esta ruta tiene un formato diferente: Studio debe escribir este archivo para usted en función del campo de entrada de texto en la configuración del SDK de Android diálogo)

  • el archivo settings.gradle está presente en el repositorio y hace referencia a la carpeta de la aplicación (normalmente: aplicación)

Jim Andreas
fuente
3
Esto es lo único que me ayudó. Los pasos # 3 y # 4 son muy importantes
soshial
16

Si tiene este problema cuando extrae un proyecto nativo de reacción, solo necesita abrir el proyecto de Android con Android Studio. Todo lo que necesitas se creará automáticamente.

  • Abra Android Studio
  • Archivo -> Abrir
  • Elegir el android carpeta debajo de su carpeta de proyecto nativo de reacción
  • Espere a que AndroidStudio complete la configuración
  • Ahora puedes cerrar Android Studio

O

Si ha instalado el iniciador de línea de comandos de AndroidStudio :

  • Ejecute esto en su carpeta raíz nativa de reacción
studio android/
  • Espere a que AndroidStudio complete la configuración
  • Ahora puedes cerrar Android Studio
gianlucaparadise
fuente
1
Funciona para mí
Vikram Rajput
12

En Linux:

Si ya ha descargado el SDK de Android pero no se encuentra.

El problema podría ser que el archivo local.propertiesdebe estar dentro del mismo directorio que las gradlecosas para gradleencontrarlo al compilar y ejecutar adb.

Para mi proyecto reaccionar nativo, gradlenecesitaba poner el local.propertiesarchivo en la Myprojectname/android/carpeta.

Como había descomprimido el SDK en Descargas, solo uso esa ruta en el archivo con una fila como esta:

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

Resolví este problema creando la variable de entorno ANDROID_HOME de la siguiente manera en Windows.

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

Reinicie Android Studio, ¡debería construir un proyecto!

mumair
fuente
Ya tenía un ANDROID_SDK que apunta al mismo directorio, así que para mí fueANDROID_HOME=$ANDROID_SDK
Martijn
10

Me encontré con el mismo problema pero un mensaje de error un poco diferente es

Ubicación del SDK no encontrada. Defina la ubicación con una variable de entorno ANDROID_SDK_ROOT o estableciendo la ruta sdk.dir en el archivo de propiedades locales de su proyecto en "xxx"

MAC y Reactivo Nativo

Añadir local.properties

  1. Encuentra tu ubicación de Android SDK

    /Users/yourMacUserName/Library/Android/sdk
  2. Crear local.propertiesdebajo rootProject/android/local.properties.

  3. Añadir ruta SDK en él

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

Esto normalmente funciona, pero si está trabajando en un equipo con otros miembros del equipo, entonces yourMacUserName es diferente.

O

Establecer ANDROID_SDK_ROOTvariable

  1. Edite su ~/.zshrco ~/.bashrco ...
  2. Agregar ruta del SDK:

    export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
  3. Abra una nueva pestaña de terminal o source ~/.zshrc
  4. echo $ANDROID_SDK_ROOT para probar la ruta correcta de impresión del SDK.

Alternativamente, también puede agregar su ruta para usar algunos comandos útiles.export PATH=${PATH}:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools

William Hu
fuente
9

Si está intentando ejecutar el código de muestra de Android de Google, intente importar todo el repositorio en lugar de una muestra individual .

Aquí está la sección relevante de instrucciones.html , incluida con el código de muestra API de Google Calendar

  • Importar proyecto calendar-android-sample
    • Seleccione "Importar proyecto ..." o Archivo> Importar proyecto ...
    • Seleccione [someDirectory] /google-api-java-client-samples/build.gradle y haga clic en Aceptar.
      • Nota: no funcionará si intenta importar [someDirectory] /google-api-java-client-samples/calendar-android-sample/build.gradle
    • Seleccione "Usar distribución local de gradle" con "Gradle home" de [someDirectory] /gradle-2.2.1 y haga clic en Aceptar.
Nate
fuente
6

No hay una sola razón para este error.

  1. settings.gradle puede faltar o el contenido puede estar equivocado.
  2. local.properties puede faltar o la ruta sdk puede estar escrita incorrectamente.
Arhat Baid
fuente
1
¿Qué tipo de contenido debería estar en el archivo settings.gradle?
cabanni
@cabanni settings.gradle solo incluye el módulo en su aplicación. Por defecto será el módulo 'aplicación'. Espero que ayude /
Arhat Baid
5

Simplemente elimine la carpeta .idea e importe el proyecto nuevamente. Me ha funcionado.

Akshay Sharma
fuente
4

cree un archivo local.properties en el directorio raíz de su proyecto con el siguiente contenido

## 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
fuente
4
  1. Vaya a su proyecto nativo de React -> Android
  2. Crear un archivo local.properties

  3. Abre el archivo

  4. pegue su ruta de Android SDK como a continuación

     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. Reemplace USERNAME con su nombre de usuario

  6. Ahora, ejecute el react-native run-android en su terminal

o

A veces, al proyecto le puede faltar un archivo settings.gradle. Asegúrese de que el archivo exista del proyecto que está importando. Si no, agregue el archivo settings.gradle con lo siguiente:

    include ':app'

Guarde el archivo y colóquelo en la carpeta de nivel superior de su proyecto.

Dinush Chathurya
fuente
3

pon estas dos líneas en tu archivo .bashrc y ejecuta source ~/.bashrc

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

Para Linux hice esto. (Para la primera línea)

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

la mejor y la forma más fácil es crear un nuevo proyecto de Android, mover la carpeta de la "aplicación" del proyecto que no funciona al nuevo y agregar las dependencias necesarias en el gradle de su nuevo proyecto y todo funcionará perfectamente)

Armen Hovhannisian
fuente
Esto corrigió el problema tanto en Mac High Serria como en Windows 10. Excelente respuesta y eficiente.
Val
2

Si todo lo demás falla, copie el local.propertiesarchivo a la raíz del directorio del proyecto. Simplemente.

tim4dev
fuente
2

Esta solución realmente funciona para mí ... vaya a esta PC -> propiedades -> configuración avanzada del sistema -> variables de entorno -> luego, en la variable del sistema, cree una nueva variable con el nombre ANDROID_SDK_ROOT y el valor C: \ Users {USERNAME (Reemplácelo con su nombre de usuario } \ AppData \ Local \ Android \ Sdk

y asegúrese de que si el dispositivo móvil Android real con depuración usb está habilitado. (muy importante)

luego cierre cmd y reinicie debería funcionar.

Hrishikesh Baidya
fuente
2

En mi caso, tuve que cerrar Project y volver a abrir. Funcionó bien. Me gusta esto

Cerrar proyecto

ingrese la descripción de la imagen aquí

Y de nuevo Abrir proyecto de nuevo

ingrese la descripción de la imagen aquí

Muhaiminur Rahman
fuente
Después de agregar la ruta sdk.dir y también a ~ / .bashrc, nada funcionó. Pero luego cerré y abrí nuevamente y funcionó. ¡Gracias!
GRC
1

Recibí este error después de clonar recientemente un repositorio. Esperaba que local.properties se generara automáticamente, pero no fue así. Pude generarlo reimportando el proyecto Gradle.

File > Re-import Gradle Project
M. Palsich
fuente
Esto ayudó Después de que se lanzó "Re-import Gradle Project", se imprimieron los siguientes 2 errores en la consola, lo que me ayudó a detectar el problema: Se encontró una configuración de Gradle JDK no válida , no se especifica Project JDK . Entonces, todo comenzó a funcionar después de que arreglé la ruta JDK en Configuración.
Michal Vician
Después de que se solucionó la ruta JDK, también tuve que reiniciar el IDE con la opción "Archivo> Invalidar cachés / reiniciar ...".
Michal Vician
1

Cualquiera que use Jenkins, podría ser útil

Necesita definir un nombre de variable global ANDROID_HOME con el valor de la ruta de acceso a Android SDK.

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

touhid udoy
fuente
1

Estaba pensando que falta su archivo setting.gradle. Copie este archivo en otro proyecto y pegue su proyecto. Funcionará, creo.

en el archivo setting.gradle,

include ':app'

eso es todo. Tenga un buen día.

ozanurkan
fuente
1

Para mí, el problema era que no había creado ningún dispositivo virtual después de una nueva instalación de Android Studio. Por lo tanto, la exposición siguió quejándose vagamente sobre la ubicación del SDK, mientras que el problema principal era la falta de dispositivos virtuales. Espero que esto ayude a alguien en el futuro, me hizo buscar por un par de horas.

PD: aquí puede descubrir cómo crear uno https://developer.android.com/studio/run/managing-avds

Omar Dulaimi
fuente
0

Compruebe, 1. En la configuración del Módulo, si la ubicación del SDK es correcta. 2. En caso afirmativo, verifique el archivo local.properties (no el que se encuentra dentro del módulo de la aplicación, sino el que se encuentra fuera del módulo de la aplicación, en el nivel primario). Si no está presente, agréguelo con las siguientes líneas en su interior.

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

Acabo de enfrentar el problema cuando cloné mi repositorio de Github y corrí ./gradlew clean assembleDebug. Confirmo que tengo ANDROID_HOME en mi archivo .bashrc.

Entonces, importé el proyecto a Android Studio. Dado cuenta de que la extensión de mi archivo settings.gradle es .kts, settings.gradle.kts. Cuando terminé con la importación, corrí ./gradlew clean assembleDebugy no tuve ningún problema.

Hesam
fuente
0

Lo intenté

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

y funcionó, simplemente lo pegué en la carpeta del proyecto y afuera.

En la variable de entorno también utilicé el enlace sdk anterior y el nombre ANDROID_HOMEcomo el nombre de la ruta. Cierra todo, vuelve a abrir y Cabom, todo funcionó

John Akinola
fuente