ANDROID_HOME n’est pas défini et la commande “Android” ne figure pas dans votre PATH Phonegap.

j’ai installé le paquet android et j’ai tout configuré dans le fichier .bashrc et même quand je dis android en ligne de commande .. je reçois Android manager .. mais quand je dis que la plate-forme ionique ajoute Android je reçois toujours l’erreur comme “Erreur: ANDROID_HOME n’est pas défini et la commande “android” ne figure pas dans votre PATH. Vous devez remplir au moins l’une de ces conditions. ” . J’ai essayé de nombreuses façons, mais le problème n’est pas résolu.

ma plateforme:

Ubuntu 14.04 64 bits

Fichier .bashrc:

export HOME="/home/system" export ANDROID_HOME="$HOME/adt-bundle-linux-x86_64-20140702/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/adt-bundle-linux-x86_64-20140702/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" export ANT_HOME="/usr/share/ant" export PATH="$ANT_HOME/bin:$PATH" export ANDROID_HOME="/home/system/adt-bundle-linux-x86_64-20140702/sdk/tools" 

erreur lors de l’exécution:

  system@system-H81M-S1:/usr/share/nginx/www/myApp# ionic platform add android npm http GET https://registry.npmjs.org/cordova-android/3.6.3 npm http 200 https://registry.npmjs.org/cordova-android/3.6.3 npm http GET https://registry.npmjs.org/cordova-android/-/cordova-android-3.6.3.tgz npm http 200 https://registry.npmjs.org/cordova-android/-/cordova-android-3.6.3.tgz Creating android project... /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:126 throw e; ^ Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions. at /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/lib/check_reqs.js:158:19 at _fulfilled (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:798:54) at self.promiseDispatch.done (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:827:30) at Promise.promise.promiseDispatch (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:760:13) at /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:821:14 at flush (/system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:108:17) at process._tickCallback (node.js:419:13) at Function.Module.runMain (module.js:499:11) at startup (node.js:119:16) at node.js:906:3 Error: /system/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/ create: Command failed with exit code 8 at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/ cordova-lib/src/cordova/superspawn.js:135:23) at ChildProcess.emit (events.js:98:17) at maybeClose (child_process.js:756:16) at Process.ChildProcess._handle.onexit (child_process.js:823:5) 

puis-je savoir comment je peux corriger cette erreur

    J’ai fait face au même problème, et c’est résolu.

    Je pense que c’est un problème avec la compatibilité de la dernière Cordova avec le dernier Android. Ainsi que vous avez un problème avec le chemin de la maison Android.

    Dans le fichier .bashrc

     export HOME="/home/indranil" export ANDROID_HOME="$HOME/software/adt-bundle-linux-x86_64-20140702/sdk" export PATH="$HOME/software/adt-bundle-linux-x86_64-20140702/sdk/tools:$ANDROID_HOME/platform_tools:$PATH" 

    Essayez de télécharger le dernier SDK Android si vous utilisez une version antérieure. Et téléchargez Android 4.4.2 (API 19) à partir de votre gestionnaire Android.

    Vous pouvez utiliser la dernière version de Cordova (4.0.0), mais si le problème persiste, utilisez alors Cordova (3.5.0-0.2.7), mais si vous souhaitez mettre à niveau ou rétrograder Cordova, supprimez celui qui existe à l’aide de: –

     npm uninstall -g cordova (If linux use sudo npm uninstall -g cordova) 

    Si vous utilisez linux, n’utilisez pas sudo

    Au moment de l’installation de Cordoava, si vous avez une erreur, exécutez les commandes suivantes

     sudo chown -R `whoami` ~/.npm sudo chown -R `whoami` /usr/local/lib/node_modules sudo chown -R `whoami` /usr/local 

    Ensuite, installez cordova sans sudo

     npm install -g [email protected] 

    Au moment de créer l’application ionique et d’append Android en tant que plate-forme, n’utilisez pas la commande sudo. Cordova crée un répertoire .cordova dans le dossier de base au moment de l’ajout de la plateforme. Supprimez ce répertoire avant de créer la nouvelle application ionique.

    Et après avoir téléchargé l’androïde (4.4.2), créez un périphérique virtuel Android à l’aide de la commande:

     android avd 

    Je me suis également heurté à ce problème (Ubuntu 14.04) et je me souviens d’avoir accepté que le simple fonctionnement de la commande de compilation cordova était trop difficile pour moi :-). J’étais sûr que mes PATH étaient corrects (utilisateur root et utilisateur essayé, etc.) et essayais toutes les solutions que je pouvais trouver.

    Un commentaire de Stoicuta Alexandru Sur cette page l’a résolu pour moi. Je cite:

    Si ANDROID_HOME n’est pas défini, cordova le recherchera dans home / android-sdk

    Il suffit donc de mettre mon sdk android dans le dossier de départ et (important) de le nommer android-sdk.

    J’espère sauver du temps pour certaines personnes …

    J’ai eu le même problème, mais j’ai trouvé une méthode alternative, à savoir utiliser l’application Phonegap Developer . Vous pouvez l’installer sur l’émulateur et l’utiliser.

    J’ai essayé d’appeler etc / plates-formes / android / cordova / run –emulator après avoir configuré ANDROID_HOME avec etc / android-sdk-linux / et fonctionne correctement. Le problème unique est que mon système est un OS / PC 32 bits et que je devais alors définir ANDROID_EMULATOR_FORCE_32BIT = ‘true’ avec la commande d’exportation.

    Avant cette opération, bien sûr, j’ai paramétré l’émulateur via la commande ‘android avd’

    Dans mon cas, j’ai d’abord créé l’application ionique et exécuté d’autres commandes ioniques à l’aide de SUDO; c’est pourquoi il ne fonctionnait pas car sudo utilise le profil racine.

    Voici comment j’ai corrigé:

    1. supprimer le /home/user1/.cordova (remplacer l’utilisateur1 par votre nom d’utilisateur), j’ai utilisé la commande “sudo rm” pour supprimer le dossier et tous ses contenus

    2. J’ai supprimé le dossier / home / user1 / tmp afin que, lorsque nous relançons cordova, il crée le nouveau dossier tmp avec l’autorisation de l’utilisateur actuel.

    3. créé une nouvelle application en utilisant “ionic start app5” – c’était là le problème principal, car je le faisais auparavant avec sudo

    4. plate-forme ajoutée utilisant “plate-forme ionique append Android”

    5. exécuté en utilisant “ionic run android”

    Rappelez-vous que si à partir de la ligne de commande, vous pouvez exécuter les commandes “android” et “java -version”, la solution ci-dessus est parfaite. faites-moi savoir si vous avez besoin d’aide de ma part.

    Après avoir affronté ce problème pendant de nombreuses journées, je suis les instructions ci-dessus et configure mon fichier .bash_profile comme ceci sur MAC

     #==================================================== export ANT_HOME=/usr/local/Cellar/ant/1.9.4/bin/ant # export HOME="/Users/User" export ANDROID_HOME="$HOME/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk" export PATH="$HOME/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/tools:$ANDROID_HOME/platform_tools:$PATH" # export JAVA_HOME=$(/usr/libexec/java_home) export PATH=${PATH} # export PATH=${PATH}:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/platform-tools:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/tools:/Users/User/Downloads/Developer/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W # NPM_PACKAGES="${HOME}/.npm-packages" PATH="$NPM_PACKAGES/bin:$PATH" NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH" # # Unset manpath so we can inherit from /etc/manpath via the manpath # command unset MANPATH # delete if you already modified MANPATH elsewhere in your config MANPATH="$NPM_PACKAGES/share/man:$(manpath)"