如何使用Ionic 3为Android API 21构建APK?目标SDK设置未生效
解决Ionic/Cordova构建Android时API版本不匹配的问题
我之前也碰到过一模一样的情况,结合你给出的Ionic 3.19.0和Cordova 8.0.0版本信息,给你几个实测有效的解决方案:
指定匹配的Cordova Android平台版本
Cordova 8.0.0默认安装的Android平台是6.x系列,而这个版本的默认targetSdkVersion就是23,会直接覆盖你在config.xml里的配置。你需要安装对应targetSdkVersion=21的Android平台版本,比如android@5.1.1:ionic cordova platform rm android ionic cordova platform add android@5.1.1这个版本的Android平台刚好和你设置的
targetSdkVersion=21匹配,添加完成后再构建应该就能生效了。手动修改build.gradle强制覆盖配置
如果不想更换平台版本,可以直接修改platforms/android/build.gradle文件里的默认配置:
找到defaultConfig区块,手动设置SDK版本参数:defaultConfig { minSdkVersion 16 targetSdkVersion 21 // 保留文件里其他原有配置内容 }注意:每次移除并重新添加Android平台后,这个文件会被重置,所以如果用这个方法,后续重新添加平台时需要再次修改该文件。
检查插件是否强制抬高API版本
部分Cordova插件会在自身的plugin.xml中指定更高的android-minSdkVersion或android-targetSdkVersion,导致全局配置被覆盖。你可以查看已安装插件的配置文件,确认是否有这类情况:- 如果有插件强制设置了更高版本,可以尝试更换该插件的旧版本(适配API21的版本)
- 必要时可以修改插件的
plugin.xml配置,但不推荐,因为插件更新后会覆盖你的修改
构建时用命令行参数临时指定
如果你只是临时测试需求,可以在构建命令中直接添加参数强制指定SDK版本:ionic cordova build android -- --minSdkVersion=16 --targetSdkVersion=21
内容的提问来源于stack exchange,提问作者vivek sharma
相关产品推荐
相关产品推荐

