J'ai un problème lorsque je veux ajouter une plate-forme Android à mon application phoneGap. J'ai reçu ce message dans ma CLI lorsque j'exécute la commande cordova platform add Android :
Checking Android requirements... (Error: An error occurred while listing Android targets)
J'essaie déjà d'ajouter mon Android emplacement sdk dans la variable de chemin d'accès.
Aidez-moi, s'il vous plaît ! :RÉ
Je travaille sur Windows 7 64 bits, j'installe le Android API 17, 18 et 19 avec le Android SDK. Je suis sur la version 3.2 phoneGap.
Pour fonctionner, cette commande cordova doit utiliser certains programmes situés dans votre sdk/tools
répertoire. Vous devez également avoir installé Apache ant .
Ensuite, vous devez ajouter ces répertoires à votre variable système PATH
:
Contexte:
c:\sdk\Android
répertoirec:\tools\Apache-ant
répertoireEnsuite, vous devez créer deux variables système:
Android_HOME
avec le c:\sdk\Android
valeurANT_HOME
avec le c:\tools\Apache-ant
valeurEnfin, vous devez modifier la variable PATH
et ajouter ces deux éléments à la fin de la valeur PATH
':
;%PATH%\tools;%ANT_HOME%\bin;%Android_HOME%\tools;%Android_HOME%\platform-tools
NOTE: pour ceux qui utilisent Linux, l'instruction diffère un peu.
Plus de documentation disponible ici .
Tout d’abord, vous aurez besoin de quelques choses pour commencer. Ce sont: Android SDK
et Apache Ant
. Bien sûr, vous aurez besoin de Java SDK
(JDK) installé.
Pour obtenir Android Le SDK fonctionne pour tous les utilisateurs, vous devrez modifier le fichier /etc/environment
, Puis redémarrer votre PC. Mais si vous ne voulez pas de cette façon, suivez-moi, considérez-vous comme le seul utilisateur de PC et utilisez le fichier /home/YOUR_USERNAME/.bashrc
pour le modifier.
Souvenons-nous une fois de votre chemin chez vous pour éviter d’autres longues files. Ajoutez celui-ci à votre /home/YOUR_USERNAME/.bashrc
:
export HOME="/home/YOUR_USERNAME"
Nous utiliserons ensuite la notation $HOME
Lorsque nous voulons dire "/home/YOUR_USERNAME directory
".
Téléchargez l’archive du SDK Android) et décompressez-la quelque part. Supposons que votre répertoire personnel soit $HOME/adt-bundle/
.
Ajoutez ces lignes à votre $HOME/.bashrc
:
export Android_HOME="$HOME/Android-bundle/sdk/tools"
export Android_PLATFORM_TOOLS="$HOME/Android-bundle/sdk/platform-tools"
export PATH="$Android_HOME:$Android_PLATFORM_TOOLS:$PATH"
Comme avec le SDK Android, téléchargez une archive et décompressez-la dans votre répertoire personnel. Ajoutez-les ensuite à votre .bashrc
:
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
J'en ai installé un via le apt-get
, Donc cela n'a pas affecté mon .bashrc
.
Pour que ces modifications fonctionnent, vous devez soit travailler dans une nouvelle fenêtre de terminal (ouverte après les modifications), soit exécuter source ~/.bashrc
Pour créer modifications disponibles dans la fenêtre du terminal en cours.
A la fin, vous aurez:
ant
et Android-bundle
Quelques lignes, ajoutées à votre .bashrc
:
export Android_HOME="$HOME/Android-bundle/sdk/tools"
export Android_PLATFORM_TOOLS="$HOME/Android-bundle/sdk/platform-tools"
export PATH="$Android_HOME:$Android_PLATFORM_TOOLS:$PATH"
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
Exécutez la commande "Android" à partir de votre dossier adt\sdk\tools et installez la dernière version des outils et du SDK. Assurez-vous également que votre PATH contient les bonnes variables.
Pour cela, vous devez installer ANT, un Java JDK et un Android SDK installé)
Java_HOME (C:\Program Files\Java\jdk)
ANT_HOME ({emplacement ant}}\Apache\apache-ant)
Android_HOME ({emplacement du sdk Android}\sdk Android)
Ajoutez-les à votre variable PATH, comme% ANT_HOME%/bin;% Android_HOME%\tools;% Android_HOME%\platform-tools;% Java_HOME%\bin
Fermez et rouvrez votre cmd et exécutez votre commande à nouveau.
Similaire à PhoneGap/Cordova Android Développement
Je ne sais pas si c'est votre problème, mais j'ai rencontré des erreurs similaires lorsque le cache de la bibliothèque Cordova est pollué par quelque chose de corrompu. Pour résoudre ce problème, il vous suffit de supprimer le cache cordova, qui se repeuillira automatiquement lors de la prochaine utilisation de 'cordova'.
Sous OS X, ce répertoire est ~/.cordova. Sous Windows, je suppose que le nom de domaine .cordova figure toujours dans le répertoire de base de vos utilisateurs.
La réponse est "Tout ce qui précède". Faites comme mentionné avec les variables d'environnement, faites aussi ceci:
C:\Utilisateurs {YOUR_NAME} .cordova\lib\Android\cordova\3.5.0\framework modifiez le fichier project.properties et remplacez target = Android-19 par target = Android-20.
Cela devra vraisemblablement être modifié pour la prochaine restitution de Android sdk's jusqu'à la résolution de ce petit problème.
J'ai eu le même problème même si les variables de chemin d'accès ont été définies exactement selon les instructions. Après avoir traversé plusieurs fichiers, je l'ai finalement résolu. Pour moi (Windows 7 entreprise 64 bits), je devais modifier check_reqs.js et create.js à partir de "C:\Utilisateurs\.cordova\lib\Android\cordova\3.5.0\bin\lib\" dossier pour inclure le chemin absolu pour Android.bat. Mon Android SDK se trouve sous "C:\Android\android-sdk".
Dans check_reqs.js j'ai modifié
child_process.exec('Android list targets', function(err, stdout, stderr) {
à
child_process.exec('C:\\Android\\Android-sdk\\tools\\Android.bat list targets', function(err, stdout, stderr) {
Dans create.js, j'ai modifié l'instruction
return exec('Android update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
à
return exec('C:\\Android\\Android-sdk\\tools\\Android.bat update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
N'oubliez pas non plus ces doubles "\\" dans le chemin absolu
après une longue lutte, après avoir fait toutes les suggestions ci-dessus plus d'une fois avec un désespoir grandissant, j'ai simplement ouvert mon cmd en tant qu'administrateur. ça a marché. Je suppose que je viens de trop m'habituer à "Sudo" avant d'avoir ce PC.
Pour ceux qui ont rencontré ce problème, j’ajoute un élément supplémentaire qui peut être utile. Dans mon cas, toutes les variables étaient correctement configurées et il n’était toujours pas possible d’ajouter Android et j’avais désactivé mon système d’avast antivirus et bouffée! tout se passait sans heurts, ce qui se passait, c’était que l’antivirus bloquait la création de la plate-forme.
Aussi important pour moi était de redémarrer le PC. ;)
Cordialement.
J'ai remarqué le problème avec Cygwin/Windows 7. Le problème provient de la façon légèrement différente dont les shells Cygwin et MS-DOS traitent les fichiers .bat.
Pendant "ajouter une plate-forme", Cordova appelle "Android":
C:\Users\xxx\.cordova\lib\Android\cordova\3.4.0\bin\lib\check_reqs.js
Où il appelle 'cibles de la liste Android' (en ligne 73)
"Android" doit se résoudre en/xx/Android-sdk/tools/Android.bat ou xx:\Android-sdk\tools\Android.bat. (Et, en fait, je peux exécuter "Android" sur la commande MS-DOS Shell - mais pas dans Cygwin Shell. Il faut y ajouter ".bat".)
"Android" sans ".bat" échoue dans Cygwin Shell car Android.exe n'existe pas (seul le .bat existe). Le fait de modifier la ligne 73 pour appeler "cibles de liste Android.bat" résoudra votre problème (ou donnera un message d'erreur raisonnable).
Une autre solution consiste à exécuter cordova dans un shell MS-DOS au lieu de Cygwin Shell.
Ce problème est généralement dû au fait que la variable PATH n'a pas été définie pour Android SDK.
export HOME="/home/yourname"
export Android_HOME="$HOME/Android-bundle/sdk/tools"
export Android_PLATFORM_TOOLS="$HOME/Android-bundle/sdk/platform-tools"
export PATH="$Android_HOME:$Android_PLATFORM_TOOLS:$PATH"
export ANT_HOME="$HOME/ant"
export PATH="$PATH:$ANT_HOME/bin"
Nous avons une liste de solutions ici, alors j'ajoute la mienne. Ce n'était pas clair pour moi jusqu'à ce que j'essaye juste. Vous devez ajouter% ANT_HOME%\bin;% Android_HOME%\tools;% Android_HOME%\platform-tools à la variable USER PATH, et non à la variable System. La variable System PATH concaténera automatiquement la variable USER PATH et traduira les variables en sa valeur. J'espère que ça aide quelqu'un. P.S. Mon système d'exploitation est Win 7x64
La réponse acceptée est bonne et pertinente.
Je suis tombé sur une autre page où il est très bien expliqué avec des captures d'écran.
Vous pouvez vous référer http://bealers.com/2014/06/phonegap-Android-development-environment-for-windows/