这是一款phonegap 3.5 / cordova 3安卓应用。在www / config.xml中我有:
<preference name="android-minSdkVersion" value="19">
<preference name="android-targetSdkVersion" value="19">
但是,当我构建它时,它会创建一个AndroidManifest.xml:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
结果是SDK版本低于19的人可以从商店安装我的应用程序。从哪里获得10,我该如何改变它?由于Viewport的怪异,我的应用程序的行为在4.4以下的操作系统上是可疑的,我已经从4.2.2用户那里得到了一星评价。
答案 0 :(得分:55)
使用旧版本的cordova CLI,我曾经手动修改AndroidManifest.xml
来改变一些设置(启动模式,minsdk ......),就像你在答案中所做的那样。
随着 Cordova 3.5。某些 事情开始出错,每次构建项目时都会丢失一些更改。
现在我在config.xml
添加了这些行,设置会自动更新:
<platform name="android">
<preference name="AndroidLaunchMode" value="singleTop"/>
<preference name="android-minSdkVersion" value="14" />
<icon src="res/android/xhdpi.png" />
<icon src="res/android/ldpi.png" density="ldpi" />
<icon src="res/android/mdpi.png" density="mdpi" />
<icon src="res/android/hdpi.png" density="hdpi" />
<icon src="res/android/xhdpi.png" density="xhdpi" />
</platform>
优点是我现在可以删除android平台并重新创建它而不会丢失任何设置。
由于Phonegap正在更新为与cordova内联,config.xml
中的首选项应与新版本一起使用,也许您会看到您的手册更新丢失,就像发生在我身上一样......
答案 1 :(得分:29)
步骤1) yourapp / config.xml文件<platform name="android">
标记添加两个首选项
<platform name="android">
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="19" />
</platform>
第2步) cordova platform rm android
运行cmd代码
步骤3) cordova platform add android
运行cmd代码
检查您的AndroidManifest.xml文件,如下所示
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
每件事都是好的:)
答案 2 :(得分:21)
编辑并改进答案:
要回答这个问题,最好从Build版本或API Level开始。 API Level是一个整数值,用于唯一标识Android平台版本提供的框架API修订版。
API Level 8 == android Platform 2.3(ginger bread)
API Level 17 == android Platform 4.2(jelly bean)
要查看APILevel及其Android平台的完整比较,请检查here
targetSdk 仅供phonegap使用。这告诉phonegap使用某些APILevel来构建这个应用程序。 这并不意味着限制任何用户下载您的应用程序。更像是说,&#34; 该应用针对此APILevel进行了优化&#34;。示例
<preference name="android-targetSdkVersion" value="17"/> //android 4.2
使用APILevel 17(即jellyBean或androidPlatform4.2)构建(优化)此应用程序
minSdk 限制用户/设备。 minSdk是用户/设备的Sdk的最低要求。任何API等级低于minSdk使用的APILevel的设备都无法下载此应用程序。 例如:
<preference name="android-minSdkVersion" value="11"/> //android 3.0
下载此应用程序,该设备必须至少运行Android 3.0(APILevel 11)
最后,一起使用时:
<preference name="android-minSdkVersion" value="11"/> //android 3.0
<preference name="android-targetSdkVersion" value="17"/> //android 4.2
此声明表示此应用针对android4.2进行了优化,最低要求为android 3.0
Doc:http://docs.build.phonegap.com/en_US/configuring_preferences.md.html#Preferences
答案 3 :(得分:2)
对于到处寻找设置特定目标版本的方法的人来说,我发现了这个: 我刚遇到同样的问题。我不得不改变目标:
目标=机器人-22 这应该在两个文件中完成:
myApp / platforms / android / project.properties myApp / platforms / android / CordovaLib / project.properties
还应该更新清单:
来自塞巴斯蒂安的回答:Cordova : [Error: Please install Android target: "android-21"
答案 4 :(得分:0)
我能够通过手动编辑platforms / android / AndroidManifest.xml来解决这个问题:
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
Phonegap documentation似乎暗示此文件应继承android-minSdkVersion首选项的值,但必须手动更改。就我所知,android-minSdkVersion偏好似乎没有做任何事情。
答案 5 :(得分:0)
我通过使用Android Studio构建而不是使用Cordova CLI构建来解决此问题。