cordova ubuntu: une erreur s’est produite lors de la liste des cibles Android

J’essaie d’append la plateforme Android à mon projet cordova, bien que j’obtienne l’erreur:

$ cordova platform add android -d cordova library for "android" already exists. No need to download. Continuing. Checking if platform "android" passes minimum requirements... Checking Android requirements... cordova library for "android" already exists. No need to download. Continuing. Error: An error occurred while listing Android targets at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/lib/check_reqs.js:83:29 at _rejected (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:808:24) at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:834:30 at Promise.when (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:1079:31) at Promise.promise.promiseDispatch (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:752:41) at /home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:574:44 at flush (/home/jasonshark/.cordova/lib/android/cordova/3.2.0/bin/node_modules/q/q.js:108:17) at process._tickCallback (node.js:415:13) 

Sans le -d ce sera:

 Checking Android requirements... [Error: An error occurred while listing Android targets] 

Je ne suis pas sûr de la configuration qui me manque. Dans mon fichier ~/.bashrc j’ai:

 ### Java export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 export ANDROID_HOME=~/Code/adt-bundle-linux-x86-20131030/sdk/tools export ANDROID_PLATFORM_TOOLS=~/Code/adt-bundle-linux-x86-20131030/sdk/platform-tools export PATH=$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH 

et j’ai installé ant:

 $ ant -version Apache Ant(TM) version 1.8.2 comstackd on December 3 2011 

Qu’est-ce qui manque? Pourquoi est-ce que je reçois l’erreur? An error occurred while listing Android targets lors de la tentative d’ajout de la plateforme Android au projet cordova?

Cordova a un script pour vérifier si toutes les dépendances sont présentes. Est appelé lorsque vous exécutez la cordova platform add android mais malheureusement sa sortie n’est pas affichée quand elle échoue.

Vous pouvez essayer de l’exécuter manuellement, cela devrait être $home/.cordova/lib/android/cordova/3.5.0/bin/check_reqs

La sortie normale quand tout va bien est “On dirait que votre environnement supporte entièrement le développement de Cordova-Android!”, Sinon il devrait afficher un message clair sur ce qui manque.

Peut-être que votre problème est que vous n’avez pas installé la plate-forme SDK pour API 19 dans Android sdk manager (cordova 3.3 ou 3.5 utilise la cible sdk 19) .

Mise à jour: Cordova 3.3 ou 3.5 fonctionne uniquement sur SDK 19 (Android 4.4.2). Le journal des erreurs ne mentionne pas clairement la version de la plate-forme recherchée. Les messages d’erreur sont généralement les suivants:

 Unable to add platform android. Please see console for more info. 

ou

 [Error: An error occurred while listing Android targets] 

Cela peut également arriver lorsque android (SDK / outils) n’est pas sur le chemin. J’aurais aimé que le script de vérification ait imprimé un message d’erreur correct. BTW, créé un PR pour eux .

dans .bashrc essayez d’append

 export ANT_HOME="/usr/bin/ant" export PATH="$PATH:$ANT_HOME/bin" export HOME="/home/username" 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" 

ou essayez de définir explicitement les chemins globalement.

du terminal je tape:

 export PATH=${PATH}:~/dev/adt-bundle-linux-x86_64-20140321/sdk/tools export PATH=${PATH}:~/dev/adt-bundle-linux-x86_64-20140321/sdk/platform-tools 

(rappelez-vous de remplacer par votre propre chemin SDK)

Si cela ne fonctionne pas, essayez de mettre à jour le SDK

S’il vous plaît se référer à la question

Une erreur s’est produite lors de la liste des cibles Android

et le lien developer.android.com/tools/devices/managing-avds-cmdline.html

Très probablement, la variable de chemin d’access indiquant cet androïde était incorrecte. J’avais utilisé %ANDROID_HOME% comme variable et mis à l’échelle les mêmes variables de chemin d’access %ANDROID_HOME%\SDK\TOOLS. Cette méthode ne fonctionne pas. Résolu expérimentalement en pointant directement sur les outils et les outils de plate-forme.

Juste en fonction de ce que j’ai fait et cela a fonctionné pour moi. J’espère que vous obtenez le problème résolu

J’avais fait face au problème même après que le check_reqs de Cordova fonctionnait correctement sans fournir aucune erreur. Mais après l’ajout d’une nouvelle plate-forme, cette erreur était toujours en cours. La méthode ci-dessus a personnellement résolu mon problème.

J’ai résolu le problème en donnant la permission complète pour mon dossier d’application

 $ sudo chmod -R 777 myApp 

Après cela, réessayez

 $ cd myApp $ ionic platform android