使用Cordova+Android Studio Iguana构建APK失败(17个问题)的解决方法
解决Cordova Android@11构建时AAR元数据检查失败问题
你遇到的问题是因为Cordova Android@11默认使用compileSdkVersion 30,但项目依赖的第三方库(如androidx.appcompat:appcompat-resources:1.6.1)要求更高的compileSdk版本(31/32/33),导致元数据检查不通过。以下是具体修复步骤:
方法一:通过config.xml配置(推荐,无需手动修改gradle文件)
在项目根目录的config.xml中,找到<platform name="android">节点,添加以下偏好设置,将compileSdk和targetSdk版本提升到33(兼容大部分新依赖):
<platform name="android"> <!-- 保留你原有的其他配置,比如icon、splash等 --> <preference name="android-compileSdkVersion" value="33" /> <preference name="android-targetSdkVersion" value="33" /> <!-- minSdkVersion可保持默认22,或根据需求调整 --> <preference name="android-minSdkVersion" value="22" /> </platform>
方法二:手动修改Android平台的build.gradle文件
如果方法一不生效,直接修改platforms/android/build.gradle文件:
- 找到
android代码块,修改compileSdkVersion为33:
android { compileSdkVersion 33 // 其他配置 }
- 在
defaultConfig块中,修改targetSdkVersion为33:
defaultConfig { targetSdkVersion 33 // 其他配置如applicationId、versionCode等 }
方法三:更新冲突的Cordova插件
部分旧版Cordova插件可能依赖低版本的Android库,也会引发此问题。检查并更新插件:
- 查看已安装的插件列表:
cordova plugin list
- 逐个更新插件到最新兼容版本:
cordova plugin update <插件名称>
如果更新后仍有问题,可考虑卸载旧插件并重新安装最新版:
cordova plugin remove <插件名称> cordova plugin add <插件名称>@latest
重新构建项目
完成以上配置后,清理并重新构建debug APK:
cordova clean android cordova build android --debug
额外说明
- 你的环境(JDK 21 + Gradle 7.6.4)与Cordova Android@11兼容(Cordova Android@11要求Gradle≥7.4.2、JDK≥11),无需调整环境版本。
- 选择compileSdkVersion 33是因为它是目前Android生态中兼容性较好的稳定版本,能覆盖大部分依赖库的要求。
内容的提问来源于stack exchange,提问作者Mang Ganern
相关产品推荐
相关产品推荐

