web-dev-qa-db-fra.com

PhoneGap / Cordova Android Développement

PDATE 1:

C'est tout ce que j'ai fait à la fin:

Sudo aptitude install -y python-software-properties python g++ make
Sudo add-apt-repository -y ppa:chris-lea/node.js
Sudo aptitude update
Sudo aptitude install nodejs
Sudo aptitude install npm
Sudo npm install -g cordova
Sudo npm install -g phonegap
phonegap create my-app
cd my-app
export PATH=${PATH}:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/platform-tools:/home/oshirowanen/Downloads/adt-bundle-linux-x86_64-20131030/sdk/tools
Sudo aptitude install ant
cordova platform add Android
android create avd --name my_and --target 1
phonegap run Android

Est-ce que cela n'était pas nécessaire?


QUESTION ORIGINALE:

Sur mon ordinateur Ubuntu 12.04, je viens d'installer node.js avec npm et cordova:

$ node -v
v0.10.23

$ npm -v
1.3.17

$ cordova -v
3.3.0-0.1.1

Quand j'essaye d'ajouter Android:

$ cordova platform add Android

Je reçois la sortie suivante:

Creating Android project...

/usr/lib/node_modules/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occured during creation of Android sub-project. 

/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: An error occurred while listing Android targets
    at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/lib/check_reqs.js:87:29
    at _rejected (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:808:24)
    at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:834:30
    at Promise.when (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:1079:31)
    at Promise.promise.promiseDispatch (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:752:41)
    at /home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:574:44
    at flush (/home/oshirowanen/.cordova/lib/Android/cordova/3.3.0/bin/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

    at /usr/lib/node_modules/cordova/src/platform.js:244:30
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

Quelqu'un sait pourquoi cela se passe et comment le résoudre?

J'ai le même problème avec PhoneGap.

51
oshirowanen

Il est possible que les fichiers binaires des outils Android ne se trouvent pas dans votre chemin.

Selon la documentation PhoneGap ( http://docs.phonegap.com/fr/2.9.0/guide_getting-started_Android_index.md.html ), vous devez inclure le Android SDK outils et outils de plate-forme dans votre variable d'environnement PATH .

export PATH = $ {PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools

où Développement correspond au chemin d'installation de votre SDK.

88
TomL

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.

10
Llewellyn Collins

J'utilise Ubuntu 12.04 et avait le même problème que vous il y a quelques minutes.

Les deux choses que j'ai remarquées et que j'avais manquées lors de l'installation:

  1. La version Android doit être 19 et vous devriez pouvoir taper "Android" sur la console et voir une sortie ou une fenêtre contextuelle. Assurez-vous d’ajouter le chemin du dossier. où Android.jar se trouve dans votre variable PATH et définissez également Android_HOME sur ce même chemin. Généralement, vous le feriez dans votre fichier .bashrc ou dans/etc/environment. Si vous modifiez l'un de ces fichiers, vous aurez besoin de sur 'source ~/.bashrc' ou rouvrez votre terminal pour le forcer à recharger le fichier. Tapez 'Android' pour vous assurer qu'il fonctionne.

  2. J'ai constaté que le script d'installation cordova tentait d'écrire des fichiers dans un sous-répertoire 'add-ons' du Android SDK. Ce répertoire n'existe pas dans le Android = 19 elle-même. Par conséquent, je l’ai créée manuellement et rendue accessible en écriture pour mon compte utilisateur.

ex: Android chemin de distribution:

/opt/Android/

Le chemin que vous essayez d’écrire:

/opt/Android/sdk/add-ons

Une fois que j'ai fait cela, j'ai pu surmonter le problème que vous avez noté ci-dessus.

5
evolvingfaster

Il semble que le fichier de bibliothèque cordova andorid soit corrompu dans votre répertoire personnel.

Essayez de supprimer le répertoire home //. Cordova et recommencez la plate-forme cordova ajoute Android dans votre projet cordova.

Assurez-vous de disposer de/outils-plate-forme et/outils pour PATH.

1
Nagendhiran

si le problème persiste, assurez-vous que vous disposez des autorisations adéquates, essayez

Sudo chmo-R 777 /home/your-user-name/.cordova/

Assurez-vous également que vous n’utilisez PAS Sudo pour ajouter Android en tant que plate-forme

Ceci est incorrect dans l'installation par défaut de Cordova

Sudo cordova platform add Android

Il suffit de faire

cordova platform add Android
0
Khaled Awad

Android

Les outils de ligne de commande Android sont basés sur des scripts Shell. Vous devez disposer des Android du SDK et des dossiers de plate-forme d'outils dans votre PATH!

Créer un projet

Exécutez la commande create avec les paramètres suivants:

Path to your new Cordova Android project

Package name, following reverse-domain style convention

Main Activity name

$ /path/to/cordova-Android/bin/create /path/to/my_new_cordova_project com.example.cordova_project_name CordovaProjectName
0
user1374

J'utilise cordova. 2 jours, j'ai le même problème "Java, ant, Android, Cordova, le test de commande est correct, mais exécutez la plate-forme Cordova add Android montre-moi erreur: une erreur s'est produite lors de l'inscription Android cibles ". Maintenant, je fixe son utilisation: " chmod 777 ant et Android sdk place ", alors cela fonctionnera. I utiliser Ubuntu 14.04 32bit,

0
Dr.Mask

Je ne sais pas si quelqu'un d'autre a eu un problème avec cela, mais une fois retiré et ajouté de nouveau à ma plateforme, j'ai réalisé dans mon fichier config.xml que j'avais <icon src='...'> et le chemin à l'intérieur de la SRC était faux.

Voici la sortie d'erreur que j'ai reçue lorsque j'ai rajouté la plate-forme: cp: no such file or directory: C:\Users\{pathtofile}.png.

Après avoir corrigé le chemin, cela a bien fonctionné.

0
superjisan

J'ai beaucoup cherché cela et ce qui a fonctionné pour moi a été de définir la variable shell $Android_HOME Sur le chemin du dossier sdk/ Dans mon répertoire adt-bundle À partir d'Android. Utilisez export pour faire ceci:

export Android_HOME="/Users/YOUR_USER/Developer/adt-bundle/sdk/" Mais veillez à modifier le répertoire pour qu'il corresponde au vôtre.

Bonne chance!

0
user3689258

Il semble que cette erreur pourrait également être causée par l’absence de version compatible du Android du SDK (pour le moment, la version 4.2)].

0
rcason