web-dev-qa-db-fra.com

phonegap 3.0 veut Android 17, mais je veux Android 18

Bien qu'ayant l'expérience de phonegap et de xcode, je suis un nouvel utilisateur d'Android . J'ai installé phonegap 3.0 ...

npm install phonegap
phonegap --version
3.0.0-0.14.3

J'ai installé adt-bundle-mac-x86_64-20130729. Les outils en ligne de commande (par exemple: Android) semblent fonctionner correctement . Lorsque j'essaie d'ajouter Android en tant que plate-forme ..

phonegap local build Android

Je reçois ...

[error] Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `Android` from your command-line to install/update any missing SDKs or tools.

Je vois des questions similaires toujours sans réponse ... Numéro de cible Android de numéro de CLI de Phonegap 3.0 dans l'application de construction

Lorsque j'installe Android-17, cela fonctionne bien, ce qui est cool, mais je dois utiliser Android-18 pour pouvoir utiliser BLE.

Je vois que Fil Maj a apparemment résolu ce problème le 31 juillet ... https://git-wip-us.Apache.org/repos/asf?p=cordova-Android.git;a=commitdiff;h=c2c5f710

..mais je ne semble pas avoir ce correctif dans la version de phonegap que j'ai téléchargée. Je pensais que c'était peut-être seulement à Cordoue, alors je l'ai installé aussi, mais j'ai rencontré le même problème.

J'ai essayé de pirater les quatre fichiers js des répertoires npm contenant le contrôle directement, mais cela n'a pas pris (c'est-à-dire que l'erreur persistait).

Quelqu'un peut-il suggérer s'il vous plaît soit ...

1) comment télécharger une version de phonegap/cordova avec le problème résolu, ou

2) comment indiquer à phonegap/cordova quelle version d’Android je voudrais cibler

Merci beaucoup ...

14
user2776896

Trouver le fichier Android_parser.js dans Windows c'est le chemin d'accès:

C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\cordova\src\metadata

changement dans le fichier Android_parse.js

OUsi vous créez une application auprès de PhoneGap et non de Cordova:

C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\phonegap\node_modules\cordova\src\metadata\Android_parser.js

aller à la ligne: 57

if (output.indexOf('Android-17') == -1) {

et le changer pour:

if (output.indexOf('Android') == -1) {

Cela vous permettra de ne pas vous inquiéter de l'avenir :)

Mais alors vous pouvez avoir cette Error

[Error: An error occured during creation of Android sub-project.
]

Pour résoudre ce problème, vous devez accéder à ce chemin:

C:\Users\USER_NAME\.cordova\lib\Android\cordova\3.1.0\framework\project.properties

Et changez cette ligne:

target=Android-17

Pour ça:

target=Android-19

Ou quelle que soit votre version du SDK Android

Que faire si vous souhaitez utiliser Android 2.2 ?

Aller simple à:

Your_Project_Folder/platforms/Android/AndroidManifest.xml

Et changer:

<uses-sdk Android:minSdkVersion="10" Android:targetSdkVersion="19" />

À:

<uses-sdk Android:minSdkVersion="7" Android:targetSdkVersion="19" />

Et après qui importent votre projet dans votre IDE

Prendre plaisir :)

11
bumerang

Si quelqu'un arrive ici en utilisant la chaîne d'outils des applications mobiles cordova et/ou chrome. J'ai édité platforms/Android/project.properties directement à target=Android-19 et il a construit.

à votre santé

6
Harry Moreno

Allez dans\cordova\src\metadata\Android_parser.js dans la fonction check_requirements et modifiez les lignes 56,57,66 de 17 à 18. Ce sera alors correct.

2

J'avais installé cordova via npm, donc pour que cela fonctionne, j'ai modifié target en ~/.cordova/lib/npm_cache/cordova-Android/3.6.3/package/framework/project.properties

2
wieczorek1990

Assurez-vous d'avoir la dernière version:

  • PhoneGap: Sudo npm update -g phonegap
  • Android SDK: en fonction de la manière dont vous l'avez installé, si vous l'avez fait par brassage: brew update Android-sdk

Ensuite, exécutez aAndroid et téléchargez la dernière API.

PhoneGap utilisera alors la dernière API par défaut lors de l'exécution de phonegap build Android.

Si vous devez mettre à jour un projet en cours, exécutez-le dans le dossier du projet:

phonegap platform update Android

Et maintenant, si vous exécutez à nouveau build, il devrait utiliser la dernière version.

2
Jesús Carrera

Ouvrez simplement votre fichier AndroidManifest.xml et définissez la version minimale et ciblée. Dans votre cas, 18 . Même réponse à la question Numéro de cible Android de la CLI de Phonegap 3.0 dans l'application de construction .enter image description hereLe fichier AndroidManifest.xml se trouve dans: YOURPROJECT\plateformes\Android. Si vous avez besoin d’aide supplémentaire, demandez-nous, essaierons de vous aider . Publiez votre fichier AndroidManifest.xml afin que je puisse vérifier.

2
divoto

C:\Utilisateurs\USER_NAME.cordova\lib\Android\cordova\3.1.0\framework \

devrait être dans anser bumerang

C:\Utilisateurs\USER_NAME.cordova\lib\Android\cordova\3.1.0\framework\project.properties

1
Manish B

Je pense que vous avez la mauvaise version de Phonegap, le mien dit 0.3.0-0.15.0. Je pense que le correctif de Fil aurait définitivement été intégré à la version finale. Je pense donc que vous devez faire quelque chose de bizarre lors de l'installation de Phonegap. C'est ce que j'ai fait:

npm install cordova -g (ou je suppose que dans votre cas, ce serait Phonegap et non Cordova.) Cela installera cordova (ou phonegap) globalement de sorte que vous puissiez y accéder n'importe où avec la commande 'cordova'. Si vous l'avez déjà installé, essayez npm update au lieu de npm install.

Accédez à un emplacement de l'espace de travail, tel que C:\workspace.

Tapez cordova create MyApp pour créer un projet Cordova à C:\workspace\MyApp. L'espace de travail aura les dossiers suivants:

/www/ - où vous placez tout votre code HTML et JavaScript

/platforms/ - cela aura des dossiers pour Android, ios et toutes les autres plates-formes que vous ajoutez. Vos documents de/www/seront copiés ici au bon endroit pour chaque plate-forme. C’est à cet endroit que vous souhaitez éditer des fichiers spécifiques à une plate-forme. Par exemple, pour modifier le fichier cible-sdk, vous souhaitez éditer /platforms/Android/AndroidManifest.xml

/plugins/ - c'est là que tout le code du plugin ira quand vous ferez cordova plugin add {link}. Je ne vois aucune raison pour laquelle vous devriez jamais modifier quoi que ce soit dans ce dossier (mais il y en a probablement de bons.)

/merges/ - tous les fichiers ici seront fusionnés avec les fichiers correspondants dans /www/ et insérés dans /platforms/, voir la documentation .

Après avoir exécuté la commande create, vous devez ajouter les plateformes:

cd MyApp

cordova platform add Android -d - le -d nous donne des informations de débogage

cordova build Android - Ceci construira l'application Android et vous verrez des éléments de /www/ copiés vers /platforms/Android/assets/www.

Un Si vous rencontrez toujours des problèmes, avez-vous essayé ce qui est écrit dans le résultat, c’est-à-dire exécuter Android à partir de la ligne de commande? Cela fera apparaître le "Gestionnaire de SDK Android", assurez-vous que vous avez la dernière version du SDK installée ainsi que les derniers outils de SDK Android et les outils de plate-forme de SDK Android (les miens sont 22.0.5 et 18.0. 1, respectivement.)

Il peut également y avoir des problèmes si vous n’avez jamais créé d’objet émulateur Android (utilisez le gestionnaire AVD) bien que cela semble moins probable. 

1
MBillau

PhoneGap Build prend désormais en charge une option permettant de définir la version du SDK Android. Il est documenté ici mais fondamentalement, ce dont vous avez besoin dans config.xml est:

  <preference name="Android-targetSdkVersion" value="18" />

Il définira ensuite correctement la propriété dans AndroidManifest.xml.

Note: Cela ne fonctionne supposément que pour la construction de PhoneGap, mais j'utilise les outils de ligne de commande ioniques (sur Cordova 5.1.1) et cela semble également fonctionner correctement pour moi.

1
Chris Rae

en lisant le notes de version de la version 3.1.0 , il est indiqué

  • Incremeting version check pour Android 4.3 API niveau 18
  • Mise à niveau du projet vers Android 4.3

Par conséquent, la mise à niveau vers Phonegap 3.1.0 devrait faire l'affaire.

0
Mobiletainment

Vous êtes au mauvais endroit les gars

VOUS DEVRIEZ ESSAYER CECI: phonegap local build Android

cela ajoutera Android à votre dossier de plates-formes ...

0
Mahmoud Zalt