web-dev-qa-db-fra.com

cordova build --release Android choisit toujours le niveau d'api le plus élevé

J'essaie de créer mon application cordova pour Android, en utilisant ionicframework. J'ai défini mon niveau d'API cible sur 16 (je l'ai installé depuis Android SDK manager) mais il reprend toujours le niveau 21).

dans project/config.xml:

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

dans les plateformes/Android/AndroidManifest.xml, cela montre la même chose:

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

mais en cours d'exécution cordova build --release Android Je reçois:

-build-setup:
[getbuildtools] Using latest Build Tools: 22.0.0
     [echo] Resolving Build Target for OpsVedaMobile...
[gettarget] Project Target:   Android 5.0.1
[gettarget] API level:        21

Je soupçonne qu'il me manque d'autres paramètres, j'apprécierai de l'aide. J'ai utilisé le tutoriel de this ionic doc

ionique: 1.0.0.rc-5, ionic CLI: 1.3.22, cordova: 5.0.0, noeud: 0.10.36 - sur Windows7

--ÉDITER

il semble que le niveau cible n'ait pas d'importance du tout. Je me demande maintenant comment/où cela devient-il significatif.

19
Dinesh

dans le dernier ionic vous pouvez changer la cible en changeant

ion1/plates-formes/Android/AndroidManifest.xml

et changer le 22 dans ces deux fichiers avec 16

ion1/plates-formes/Android/project.properties

ion1/plateformes/Android/CordovaLib/project.properties

ion1 = mon dossier de base de projet

17
Mr Megamind
npm install -g cordova 

la commande ci-dessus installe toujours la dernière version de cordova-Android et donc Android-target est la dernière. Nous pouvons donc résoudre le problème ci-dessus en installant la version appropriée de cordova.

vous pouvez installer la version appropriée de cordova en utilisant cette commande npm install -g [email protected] où 5.0.0 est cordova-Android-version.toute version de cordova peut être visualisée à l'aide de la commande suivante.

npm view cordova versions

4.1.X (Cordova-Android Version) prend en charge 14-22 (niveau API) et

5.X.X (Cordova-Android Version) prend en charge 14-23 (niveau API)

6
Mahen

Donc, ce bit de xml fait deux choses, définit la version minimale de l'API pour l'application Android, et définit la cible, évidemment à cause de leur nom.

Donc, l'api 10 est Android 2.3, pour lequel nous avons abandonné la prise en charge. Nous pouvons donc passer à 14, ou Android 4.0

Api 19 est 4.4 ce qui est tout bon.

Ces chiffres font donc partie de la structure de projet par défaut créée par cordova. Vous pouvez créer un hook qui, après l'ajout du projet, modifie le niveau d'api par défaut à 14 et 19 au lieu de le faire manuellement.

Mais pour le changer, allez sur les plateformes/Android/android.xml, si vous modifiez cela, vous devriez être bon. (ou) Avant le changement:

] Android update project --subprojects --path "plates-formes/Android" --target Android-19 --library "CordovaLib"

J'ai changé cela en:

] Android update project --subprojects --path "plates-formes/Android" --target Android-14 --library "CordovaLib"

Et puis modifié le fichier AndroidManifest.xml comme vous l'avez suggéré, maintenant tous les états de débogage niveau 14 et il a été compilé. Je viens d'envoyer une copie à mon copain à nouveau .. nous verrons si cela fonctionne!

2
cfprabhu