cordova build --release android always picks the highest api level

时间:2015-05-12 23:43:22

标签: android cordova ionic-framework

I am trying to build my cordova app for android, using ionicframework. I have set my target API level to 16 (I have that installed from Android SDK manager) but it somehow always picks up level 21.

in project/config.xml:

cd

in platforms/android/AndroidManifest.xml, it shows the same:

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

but running <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" /> I get:

cordova build --release android

I suspect I am missing some more settings, will appreciate help. I used the how-to from this ionic doc

ionic: 1.0.0.rc-5, ionic CLI: 1.3.22, cordova: 5.0.0, node: 0.10.36 - on Windows7

--EDIT

it appears that the target level didn't matter at all. I now wonder how/where does it become significant.

3 个答案:

答案 0 :(得分:17)

在最新的离子框架中,您可以通过更改

来更改目标

ion1 /平台/机器人/ AndroidManifest.xml中

并使用16

将22更改为这两个文件

ion1 /平台/机器人/ project.properties

ion1 /平台/机器人/ CordovaLib / project.properties

ion1 =我的项目基础文件夹

答案 1 :(得分:6)

scala> var x = List(1, 2, 3)
x: List[Int] = List(1, 2, 3)

scala> x.map(el => if(even(el)) el::x)
res143: List[Any] = List((), List(2, 1, 2, 3), ())

以上命令总是安装最新的cordova-android-version,所以android-target是最新的。所以我们可以通过安装合适的cordova版本来解决上述问题。

您可以使用此命令npm install -g cordova 安装适当版本的cordova,其中5.0.0是cordova-android-version.all版本的cordova可以使用以下命令查看。

npm install -g cordova@5.0.0

4.1.X(cordova-android Version)支持14-22(API级别)和

5.X.X(cordova-android Version)支持14-23(API级别)

答案 2 :(得分:2)

<强>

所以这个xml做了两件事,设置了android app的最小api版本,并设置了目标,显然是因为他们的名字。

所以api 10是android 2.3,我们已经放弃了对它的支持。所以我们可以将它推到14,或者android 4.0

Api 19是4.4,这一切都很好。

因此,这些数字是cordova制作的默认项目结构的一部分。您可以创建一个钩子,在添加项目后,它会将默认的api级别更改为14和19,而不是手动执行。

但要更改它,请转到platforms / android / android.xml,如果你编辑它,你应该很好。                      (要么) 改变之前:

] android更新项目--subprojects --path“platforms / android”--target android-19 --library“CordovaLib”

我将其更改为:

] android更新项目--subprojects --path“platforms / android”--target android-14 --library“CordovaLib”

然后按照你的建议修改AndroidManifest.xml文件,现在所有的调试状态都是14级并编译完成。我刚刚给我的好友发了一份副本..我们会看看它是否有效!