Cordova执行platform add android时minSdkVersion取值来源问题
问题原因解答
你看到的默认值22是你当前使用的cordova-android平台版本的内置默认配置,该值定义在cordova-android平台包的内部构建脚本中,是Cordova对应版本针对Android平台设定的默认最低兼容版本,cdv-gradle-config.json的取值直接读取该内置配置,不会优先读取你在AndroidManifest中自定义的参数。
你的配置错误说明
你当前的配置存在两处问题:
<uses-sdk>标签是AndroidManifest.xml中<manifest>节点的直接子元素,你将其放在了target为/manifest/application的edit-config块下,路径匹配错误,该配置在构建合并时会直接被忽略,不会生效。- Cordova提供了专门的配置项来定义minSdkVersion,不需要通过edit-config手动修改AndroidManifest,你使用的配置方式不符合Cordova的规范。
修复方法
- 删掉现有edit-config块中的
<uses-sdk android:minSdkVersion="26" />行 - 在config.xml的
<platform name="android">块内添加如下配置:
<preference name="android-minSdkVersion" value="26" />
- 执行命令重新添加Android平台:
cordova platform rm android cordova platform add android
配置完成后再次查看cdv-gradle-config.json,MIN_SDK_VERSION就会更新为26,同时构建生成的APK最低兼容版本也会同步生效。
内容的提问来源于stack exchange,提问作者Panadol Chong
相关产品推荐
相关产品推荐

