editar: (agosto-2016)
Esa pregunta es de noviembre de 2013 (mientras Android Studio todavía estaba en modo de Vista previa del desarrollador),
Actualmente (AS v2.2, agosto de 2016) durante la instalación, AS solicita elegir la carpeta SDK (o instalar en su valor predeterminado) y se aplica automáticamente a cualquier proyecto que esté abriendo.
Eso significa que cualquier posible solución o solución es irrelevante ya que el problema ya no es reproducible.
pregunta original:
Tenemos este proyecto con varios módulos que ya están configurados y se ejecutan correctamente en otra PC de desarrollador utilizando un contenedor. Cloné los submódulos git completos en mi máquina.
Debajo hay una impresión directa de mi línea 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
$
entonces, como puedes ver, ANDROID_HOME está ahí. ¿Qué más quieren? ¿Qué pasa aquí?
corriendo en Ubuntu 13.04
editar:
Ya creé un archivo local.properties sdk.dir=<path>
en la raíz del proyecto y funciona. Pero eso hace que el código sea más difícil de transferir a través de sistemas y servidores de compilación, por lo que la pregunta sigue abierta.
¿Alguien sabe por qué ANDROID_HOME no funciona y qué hacer para que funcione?
settings.gradle
archivo a la carpeta del proyecto.Respuestas:
He resuelto el problema. Esto funciona para mi:
En
Creé un archivo llamado local.properties y lo puse dentro
En la consola necesito hacer
Espero que esto ayude.
fuente
En OSX , IntelliJ no recogerá las variables de entorno que establezca en su .bash_profile o .bash_rc, etc.
Pruebe esto, sustituyendo el valor de su propia ubicación sdk:
launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk
Luego reinicia IntelliJ y Bob es tu tío.
Aquí hay una referencia al problema, en general: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
fuente
launchctl setenv ANDROID_HOME ~/Library/Android/sdk
launchctl setenv ANDROID_HOME $ANDROID_HOME
ylaunchctl setenv JAVA_HOME $JAVA_HOME
En mi caso
settings.gradle
faltaba.Guarde el archivo y colóquelo en la carpeta de nivel superior de su proyecto, incluso puede copiarlo desde otro proyecto también.
Referencia de captura de pantalla:
Espero que esto te ahorre tiempo.
fuente
Esto funciona para mi:
fuente
El complemento Android Gradle todavía está en versión beta y esto simplemente puede ser un error. Para mí, configurar ANDROID_HOME funciona, pero es posible que tengamos versiones diferentes (intente nuevamente con la versión más reciente y avíseme si funciona o no).
También vale la pena configurar la variable de entorno ANDROID_SDK y ANDROID_HOME.
He visto problemas con esto en algunas máquinas, por lo que creamos propiedades locales en esos casos; también he notado que la última versión de Android Studio creará este archivo para usted y completará la propiedad sdk.dir.
Tenga en cuenta que no debe verificar las propiedades locales en el control de versiones, lo hemos agregado a nuestro gitignore para que no interfiera con la transferencia del código a través de los sistemas que legítimamente identificó como un posible problema.
fuente
sdk.dir=/path/to/android/sdk
funcionó para mí. Estoy corriendo gradle como parte de un proyecto creado con IntelliJ 13.0.2Por alguna razón, la secuencia de comandos de Gradle no recoge el valor de ANDROID_HOME del entorno. Intente especificarlo en la línea de comando explícitamente
fuente
Me enfrenté al mismo problema, aunque tenía el archivo local.properties en mi módulo principal y la variable de entorno ANDROID_HOME establecida a nivel del sistema.
Lo que solucionó este problema fue cuando copié el archivo local.properties que estaba en mi módulo de proyecto principal a la raíz de todo el proyecto (es decir, el directorio padre a su módulo principal)
Intente copiar el archivo local.properties dentro de los módulos y el directorio raíz. Deberia trabajar.
fuente
Me encontré con el mismo problema al abrir un repositorio git clonado. El archivo local.properties se agrega automáticamente al archivo .gitignore, ya que es específico del entorno de compilación de cada máquina y, por lo tanto, no forma parte del repositorio.
La solución es importar el proyecto en lugar de solo abrirlo después de haberlo clonado desde git, esto obliga a Android Studio a crear el archivo local.properties específico para su máquina:
Archivo >> Importar proyecto >>
fuente
MAC OS X:
~/.bash_profile
para agregar:
export ANDROID_HOME=~/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools
Correr:
source ~/.bash_profile
Reinicie la Terminal y Android Studio
fuente
Cómo hacerlo en MAC OSX:
1) Abra la Terminal y edite:
vi ~/.bash_profile
si no hay ningún archivo allí, simplemente agréguelo.2) Agregar (cambie a SU NOMBRE DE USUARIO y agregue esto):
#Java var home: JAVA_HOME="/usr/libexec/java_home" ANDROID_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"
3) Corre
source ~/.bash_profile
.4) correr
echo $JAVA_HOME; echo $ANDROID_HOME;
5) Si su salida es:
/usr/libexec/java_home /Users/<YOUR USER NAME>/Library/Android/sdk
Entonces eres bueno.
y reiniciar android studio!
Y, asegúrese de tener Java :)
java -version
Y gradle :)
gradle --version
fuente
export ANDROID_HOME
ANDROID_HOME
y luego ejecutosource ~/.bash_profile
, esto es permanente (ejecutarsource
es bueno si no desea cerrar sesión y reiniciar). En su caso,export ANDROID_HOME
después de reiniciar o iniciar sesión, la variable de entornoANDROID_HOME
en mac desaparecerá.Copie local.properties en la carpeta raíz y vuelva a ejecutarlo.
fuente
Esto funcionó para mí (Ubuntu):
Añadir
ANDROID_HOME=/path/to/android-sdk
a/etc/environment
.Reiniciar.
fuente
en windows, configuro ANDROID_HOME = E: \ android \ adt-bundle-windows-x86_64-20131030 \ sdk Luego funciona como se espera.
Cuando esté en Linux, debe configurar sdk.dir.
El script usa dos variables diferentes.
fuente
sdk.dir=C:\\Users\\username\\AppData\\Local\\Android\\Sdk
Tengo el mismo problema, parece que el código de muestra no puede encontrar el entorno de Android, en lugar de intentar solucionarlo, solo elimino el código de muestra de settings.gradle y luego la instalación funciona bien.
después de eso solo importa el proyecto en eclipse y eso es todo :)
fuente
En Linux, intente ejecutar studio.sh desde un terminal y configure ANDROID_HOME en este terminal. Esto funcionó para mí.
fuente
Si está utilizando Windows Plantform, intente ejecutar Android Studio como administrador
fuente
Simplemente elimine sdk.dir dentro del archivo local.preoperties y configure la variable de entorno ANDROID_HOME . Funcionó para mi.
fuente
exportar ANDROID_HOME = / xxx / xxx / en shell, luego usarlo por System.env.ANDROID_HOME en el archivo gradle.
PD: no olvide las palabras clave 'exportar' para hacer que ANDROID_HOME sea global.
fuente
export
en esta respuesta es importante tener en cuenta. Lo habíaANDROID_HOME
definido e incluso lo estaba agregandoPATH
, pero si no lo haceexport ANDROID_HOME
, Gradle no podrá encontrarlo.Su archivo local.properties podría faltar. Si es así, agregue un archivo llamado 'local.properties' dentro de /local.properties y proporcione la ubicación sdk de la siguiente manera.
sdk.dir = C: \ Users \\ AppData \ Local \ Android \ Sdk
fuente
He configurado ANDROID_HOME = [PATH_OF_MY_ANDROID_SDK] en mi variable de entorno. Esa solución me funciona.
fuente
Acabo de resolver exactamente el mismo problema agregando ANDROID_HOME como una variable de todo el sistema. En Ubuntu debe estar en / etc / profile o en un archivo de script de shell en /etc/profile.d/
Luego cierre sesión e inicie sesión nuevamente, ahora Gradle debería reconocer la variable ANDROID_HOME.
fuente
Me encontré con un problema similar. De alguna manera, no tenía una carpeta de compilación en mi proyecto. Al copiar esta carpeta de otro proyecto a mi proyecto con el que estaba teniendo un problema, esto solucionó este problema.
fuente
Instalar Build-Tools 23.0.1 en lugar de 23.0.2 solucionó este problema.
fuente
soluciones:
1 agregue "sdk.dir = path_of_sdk"
2 ejecute gradlew con la variable evn como la siguiente:
$ ANDROID_HOME = ruta_de_sdk ./gradlw
fuente
Dijiste que versionar local.properties te crea problemas. He pirateado un script que utiliza la herramienta de línea de comandos de Android para actualizar el archivo local.properties en las máquinas que participan en la producción. El comando del proyecto de actualización de Android , además de local.properties, produce mucha basura no deseada (al menos para mí), que es la razón de todos esos comandos rm al final del script.
Este script es lo primero que ejecutamos en cualquier máquina nueva donde codificamos. Tiene que ejecutarse en el directorio raíz del proyecto. Por supuesto, Android Studio puede tener una forma de interfaz gráfica de usuario para manejar esto, pero no sabría que uso un editor diferente. Tampoco puedo afirmar que la solución es general, pero "Funciona para mí" (tm).
fuente
Me he enfrentado con el mismo problema en Ubuntu (ambos
local.properties
yANDROID_HOME
fue agregado), pero la falla de compilación persistió. Entonces, la solución es agregar las siguientes líneasexport ANDROID_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools
directamente al
studio.sh
guión (dentro/usr/local/android-studio/bin
)Quizás sea útil.
fuente
Encontré el mismo error, pero en mi caso estaba clonando un proyecto, el proyecto clonado se creó con Android API 22 que no instalé en ese momento (tenía las API 24 y 25 instaladas) ........ Tuve que descargar las herramientas SDK para API 22
fuente
Para ventanas:
fuente
En mi sistema (Ubuntu 20.04 después de dos actualizaciones de versión de 19.04), los síntomas eran como si
gradle
(4.4.1 instalado desde los repositorios APT) ignoraraANDROID_HOME
la variable de entorno, mientras recogía elsdk.dir
valorlocal.properties
si creaba una.La razón parece haber sido ese
java
comando al que se hace referenciaopenjdk version "11.0.7"
. Después de instalar elopenjdk-8-jdk
paquete yupdate-alternatives --config java
hacer que lajava
versión predeterminada sea 8 ("1.8.0_252"
),gradle
comencé a trabajar como se esperaba.fuente
Esa pregunta es de noviembre de 2013 (mientras Android Studio todavía estaba en modo de Vista previa del desarrollador),
Actualmente (AS v2.2, agosto de 2016) durante la instalación, AS solicita elegir la carpeta SDK (o instalar en su valor predeterminado) y se aplica automáticamente a cualquier proyecto que esté abriendo.
Eso significa que cualquier posible solución o solución es irrelevante ya que el problema ya no es reproducible.
fuente