2015-05-12 7 views
20

Ich versuche, meine Cordova App für Android zu erstellen, mit ionicframework. Ich habe mein Ziel API-Ebene auf 16 (Ich habe das von Android SDK-Manager installiert ist), aber es irgendwie nimmt immer Level 21.cordova build --release Android wählt immer die höchste API-Ebene

in Projekt/config.xml:

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

in Plattformen/android /AndroidManifest.xml, zeigt es das gleiche:

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

aber läuft cordova build --release android ich:

-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 

Ich vermute, dass ich einige weitere Einstellungen vermisse, schätze die Hilfe. I verwendet, um den wie-zu von this ionic doc

ionischen: 1.0.0.rc-5, ionischer CLI: 1.3.22, Cordova: 5.0.0, node: 0.10.36 - auf Windows7

--edit

Es scheint, dass das Zielniveau überhaupt keine Rolle spielte. Ich frage mich nun, wie/wo es bedeutsam wird.

Antwort

3

Also dieses Stück xml macht zwei Dinge, setzt die minimale api-Version für die Android-App und setzt das Ziel, offensichtlich wegen ihres Namens.

So api 10 ist Android 2.3, die wir für Unterstützung fallen gelassen haben. Also können wir das auf 14 stoßen, oder Android 4.0

Api 19 ist 4.4 was alles gut ist.

Also diese Nummer sind Teil der Standard-Projektstruktur, die Cordova macht. Sie können einen Hook erstellen, der nach dem Hinzufügen des Projekts die Standard-API-Ebene auf 14 und 19 ändert, anstatt sie manuell zu bearbeiten.

Aber um es zu ändern, gehen Sie zu Plattformen/android/android.xml, wenn Sie dies bearbeiten, sollten Sie gut sein. (oder) Vor Änderung:

] Android-Update Projekt --subprojects --path "platforms/android" --target android-19 --library "CordovaLib"

ich dies geändert:

] android-Update Projekt --subprojects --path "platforms/android" --target android-14 --library "CordovaLib"

Und dann die AndroidManifest.xml Datei geändert, wie Sie vorgeschlagen, n ow alle debug state level 14 und es kompiliert. Ich habe gerade eine Kopie an meinen Kumpel geschickt ... wir werden sehen, ob es funktioniert!

+0

In Mein System Ich habe keine Plattformen/android/android.xml. Aber ich werde versuchen, die Haken, die Sie erwähnten – Dinesh

+0

Haben Sie Mac oder Windows verwenden? – cfprabhu

+0

Ich benutze Windows7. – Dinesh

17

in neuesten ionischen Rahmen können Sie das Ziel ändern, indem

ION1/platforms/android/AndroidManifest ändern.xml

und ändern Sie die 22 in diese beiden Dateien mit 16

ION1/platforms/android/project.properties

ION1/platforms/android/CordovaLib/project.properties

ION1 = mein Projekt Basisordner

+1

Ja, dies könnte für eine Instanz funktionieren, aber es wäre süß, wenn Sie die Version konfigurieren könnten, die Sie jedes Mal zielsteuern möchten, wenn Sie die Plattform zu einem Projekt hinzufügen/entfernen. – zenw0lf

+0

Obwohl dies nicht mit 23 und seiner neuen Berechtigungsmethode funktioniert. –

6
npm install -g cordova 

obigen Befehl immer neueste cordova-android-Version installieren und so android-Ziel ist lates t. So können wir das obige Problem lösen, indem wir eine geeignete Cordova-Version installieren.

Sie können entsprechende Version von Cordova mit diesem Befehl npm install -g [email protected] installieren, wobei 5.0.0 ist Cordova-Android-Version.Alle Version von Cordova kann mit folgendem Befehl angezeigt werden.

npm view cordova versions 

4.1.X (Cordova-android Version) unterstützt 14-22 (API-Ebene) und

5.XX (Cordova-android Version) unterstützt 14-23 (API-Ebene)

Verwandte Themen