edit: (août-2016)
Cette question date de novembre 2013 (alors qu'Android Studio était toujours en mode Developer Preview),
Actuellement (AS v2.2, août 2016) pendant l'installation, AS demande à choisir le dossier SDK (ou à installer sur leur valeur par défaut) et il s'applique automatiquement à tout projet que vous ouvrez.
Cela signifie que toute solution de contournement ou correctif possible n'est pas pertinente car le problème n'est plus reproductible.
question originale:
nous avons ce projet avec plusieurs modules qui est déjà configuré et s'exécute correctement sur un autre PC développeur à l'aide d'un wrapper. J'ai cloné les sous-modules git complets dans ma machine.
Ci-dessous, c'est une impression directe de ma ligne de commande:
$ ./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
$
donc, comme vous pouvez le voir, ANDROID_HOME est là. Que veulent-ils d'autre? Quel est le problème ici.
fonctionnant sous Ubuntu 13.04
Éditer:
J'ai déjà créé un fichier local.properties avec sdk.dir=<path>
à la racine du projet et cela fonctionne. Mais cela rend le code plus difficile à porter sur les serveurs de build des systèmes, donc la question est toujours ouverte.
Tout le monde sait pourquoi ANDROID_HOME ne fonctionne pas et que faire pour le faire fonctionner?
settings.gradle
fichier dans le dossier du projet.Réponses:
J'ai résolu le problème. Cela fonctionne pour moi:
Dans
J'ai créé un fichier appelé local.properties et mis à l'intérieur
Dans la console, je dois faire
J'espère que cela t'aides.
la source
Sous OSX , IntelliJ ne récupérera pas les variables d'environnement que vous avez définies dans votre .bash_profile ou .bash_rc etc ...
Essayez ceci, en remplaçant la valeur de votre propre emplacement SDK:
launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk
Puis redémarrez IntelliJ et Bob est votre oncle.
Voici une référence au problème, énoncé plus généralement: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
la source
launchctl setenv ANDROID_HOME ~/Library/Android/sdk
launchctl setenv ANDROID_HOME $ANDROID_HOME
etlaunchctl setenv JAVA_HOME $JAVA_HOME
Dans mon cas,
settings.gradle
il manquait.Enregistrez le fichier et placez-le dans le dossier de niveau supérieur de votre projet, même si vous pouvez également copier à partir d'un autre projet.
Référence de la capture d'écran:
J'espère que cela vous fera gagner du temps.
la source
Cela fonctionne pour moi:
la source
Le plugin Android Gradle est toujours en version bêta et cela peut simplement être un bug. Pour moi, la configuration de ANDROID_HOME fonctionne, mais nous pouvons être sur des versions différentes (veuillez réessayer avec la version la plus récente et me faire savoir si cela fonctionne ou non).
Il vaut également la peine de définir la variable d'environnement ANDROID_SDK ainsi que ANDROID_HOME.
J'ai vu des problèmes avec cela sur certaines machines, nous créons donc local.properties dans ces cas - j'ai également remarqué que la dernière version d'Android Studio créera ce fichier pour vous et remplira la propriété sdk.dir.
Notez que vous ne devriez pas vérifier local.properties dans le contrôle de version, nous l'avons ajouté à notre gitignore afin qu'il n'interfère pas avec le portage du code sur les systèmes que vous avez légitimement identifiés comme un problème potentiel.
la source
sdk.dir=/path/to/android/sdk
fonctionné pour moi. J'exécute gradle dans le cadre d'un projet créé avec IntelliJ 13.0.2Pour une raison quelconque, le script gradle ne récupère pas la valeur de ANDROID_HOME de l'environnement. Essayez de le spécifier explicitement sur la ligne de commande
la source
J'ai rencontré le même problème, même si j'avais le fichier local.properties dans mon module principal et la variable d'environnement ANDROID_HOME définie au niveau du système.
Ce qui a résolu ce problème, c'est lorsque j'ai copié le fichier local.properties qui se trouvait dans mon module de projet principal à la racine de l'ensemble du projet (c'est-à-dire le répertoire parent de votre module principal)
Essayez de copier le fichier local.properties dans les modules et le répertoire racine. Devrait marcher.
la source
Je suis tombé sur le même problème lors de l'ouverture d'un référentiel git cloné. Le fichier local.properties est automatiquement ajouté au fichier .gitignore car il est spécifique à l'environnement de construction de chaque machine et ne fait donc pas partie du dépôt.
La solution est d'importer le projet au lieu de simplement l'ouvrir après l'avoir cloné depuis git, cela oblige android studio à créer le fichier local.properties spécifique à votre machine:
Fichier >> Importer un projet >>
la source
MAC OS X:
~/.bash_profile
ajouter:
export ANDROID_HOME=~/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools
Courir:
source ~/.bash_profile
Redémarrez le terminal et Android Studio
la source
Comment le faire sur MAC OSX:
1) Ouvrez le terminal et modifiez:
vi ~/.bash_profile
s'il n'y a pas de fichier, ajoutez-le simplement.2) Ajoutez (Changez à VOTRE NOM D'UTILISATEUR et ajoutez ceci):
#Java var home: JAVA_HOME="/usr/libexec/java_home" ANDROID_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"
3) Courez
source ~/.bash_profile
.4) Courir
echo $JAVA_HOME; echo $ANDROID_HOME;
5) Si votre sortie est:
/usr/libexec/java_home /Users/<YOUR USER NAME>/Library/Android/sdk
Alors tu es bon.
et RESTART android studio!
Et, assurez-vous que vous avez java :)
java -version
Et gradle :)
gradle --version
la source
export ANDROID_HOME
ANDROID_HOME
puis exécutésource ~/.bash_profile
, c'est permanent (exécutersource
est bon si vous ne voulez pas vous déconnecter et vous connecter ou redémarrer). Dans votre cas, avecexport ANDROID_HOME
, après un redémarrage ou une connexion, la variable d'environnementANDROID_HOME
sous mac aura disparu.Copiez le fichier local.properties dans le dossier racine et réexécutez.
la source
Cela a fonctionné pour moi (Ubuntu):
Ajouter
ANDROID_HOME=/path/to/android-sdk
à/etc/environment
.Redémarrez.
la source
dans Windows, j'ai mis ANDROID_HOME = E: \ android \ adt-bundle-windows-x86_64-20131030 \ sdk Ensuite, cela fonctionne comme prévu.
Sous Linux, vous devez définir sdk.dir.
Le script utilise deux variables différentes.
la source
sdk.dir=C:\\Users\\username\\AppData\\Local\\Android\\Sdk
J'ai le même problème, il semble que l'exemple de code ne trouve pas l'environnement Android, mais pour essayer de résoudre le problème, je supprime simplement l'exemple de code de settings.gradle, puis l'installation se passe bien.
après cela, il suffit d'importer le projet dans eclipse et c'est tout :)
la source
Sous Linux, essayez d'exécuter studio.sh à partir d'un terminal et définissez ANDROID_HOME dans ce terminal. Cela a fonctionné pour moi.
la source
Si vous utilisez Windows Plantform, essayez d'exécuter Android Studio en tant qu'administrateur
la source
Supprimez simplement le sdk.dir dans le fichier local.preoperties et définissez la variable d'environnement ANDROID_HOME . Cela a fonctionné pour moi.
la source
export ANDROID_HOME = / xxx / xxx / dans le shell, puis utilisez-le par System.env.ANDROID_HOME dans le fichier gradle.
PS: n'oubliez pas les mots-clés 'export' pour rendre l'ANDROID_HOME global.
la source
export
est important de noter le contenu de cette réponse. J'avaisANDROID_HOME
défini et j'ajoutais même celaPATH
, mais si vous ne le faites pasexport ANDROID_HOME
, Gradle ne pourra pas le trouver.Votre fichier local.properties est peut-être manquant. Si c'est le cas, ajoutez un fichier nommé 'local.properties' dans /local.properties et indiquez l'emplacement du sdk comme suit.
sdk.dir = C: \ Users \\ AppData \ Local \ Android \ Sdk
la source
J'ai défini ANDROID_HOME = [PATH_OF_MY_ANDROID_SDK] sur ma variable d'environnement. Cette solution fonctionne pour moi.
la source
Je viens de résoudre exactement le même problème en ajoutant ANDROID_HOME en tant que variable à l'échelle du système. Dans Ubuntu, il devrait être dans / etc / profile ou dans un fichier de script shell dans /etc/profile.d/
Puis déconnectez-vous et reconnectez-vous, maintenant Gradle doit reconnaître la variable ANDROID_HOME.
la source
Je suis tombé sur un problème similaire. D'une manière ou d'une autre, je n'avais pas de dossier de construction dans mon projet. En copiant ce dossier d'un autre projet vers mon projet avec lequel j'avais un problème, cela a résolu ce problème.
la source
L'installation de Build-Tools 23.0.1 au lieu de 23.0.2 a résolu ce problème pour moi.
la source
solutions:
1 ajouter "sdk.dir = path_of_sdk"
2 exécutez gradlew avec la variable evn comme suit:
$ ANDROID_HOME = chemin_du_sdk ./gradlw
la source
Vous avez dit que le contrôle de version local.properties vous posait des problèmes. J'ai piraté un script qui utilise l'outil de ligne de commande Android pour actualiser le fichier local.properties sur les machines impliquées dans la production. La commande de projet de mise à jour android , en plus de local.properties, produit beaucoup de déchets indésirables (du moins pour moi), ce qui est la raison de toutes ces commandes rm à la fin du script.
Ce script est la première chose que nous exécutons sur toute nouvelle machine sur laquelle nous codons. Il doit être exécuté dans le répertoire racine du projet. Bien sûr, Android Studio peut avoir une manière graphique de gérer cela, mais je ne le saurais pas car j'utilise un éditeur différent. Je ne peux pas non plus prétendre que la solution est générale, mais elle "fonctionne pour moi" (tm).
la source
J'ai été confronté au même problème sur Ubuntu (à la fois
local.properties
et aANDROID_HOME
été ajouté), mais l'échec de la construction a persisté. La solution de contournement consiste donc à ajouter les lignes suivantesexport ANDROID_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools
directement au
studio.sh
script (à l'intérieur/usr/local/android-studio/bin
)Ce sera peut-être utile.
la source
J'ai rencontré la même erreur mais dans mon cas, je clonais un projet, le projet cloné a été construit avec l'API Android 22 que je n'ai pas installée à l'époque (j'avais les API 24 et 25 installées) ........ j'ai dû télécharger les outils sdk pour l'API 22
la source
Pour les fenêtres:
la source
Sur mon système (Ubuntu 20.04 après deux mises à niveau de version à partir de 19.04), les symptômes étaient comme si
gradle
(4.4.1 installé à partir des dépôts APT) ignoraitANDROID_HOME
la variable d'environnement, tout en récupérant lasdk.dir
valeur delocal.properties
si j'en avais créé une.La raison semble avoir été cette
java
commande mentionnéeopenjdk version "11.0.7"
. Après avoir installé leopenjdk-8-jdk
package et faitupdate-alternatives --config java
pour que lajava
version par défaut soit la version 8 ("1.8.0_252"
), j'aigradle
commencé à fonctionner comme prévu.la source
Cette question date de novembre 2013 (alors qu'Android Studio était toujours en mode Developer Preview),
Actuellement (AS v2.2, août 2016) pendant l'installation, AS demande à choisir le dossier SDK (ou à installer sur leur valeur par défaut) et il s'applique automatiquement à tout projet que vous ouvrez.
Cela signifie que toute solution de contournement ou correctif possible n'est pas pertinente car le problème n'est plus reproductible.
la source