Ionic安卓TargetSDK 31构建失败:CordovaLib编译任务报错
解决Target SDK 31构建失败的问题
核心原因
这个报错是因为Java 8编译器无法处理Android SDK 31引入的新注解属性,同时Cordova、Gradle与JDK版本之间存在兼容性不匹配。
具体修复步骤
1. 升级JDK版本至11或更高
- 卸载当前的JDK 8,安装OpenJDK 11或Oracle JDK 11
- 配置环境变量
JAVA_HOME指向新JDK路径,终端执行java -version确认版本为11.x
2. 升级Cordova Android平台版本
旧版Cordova Android对SDK 31支持不足,需升级到适配版本:
# 移除旧Android平台 cordova platform remove android # 安装支持SDK 31的版本(推荐10.x及以上,如10.1.2) cordova platform add android@10.1.2
3. 确认config.xml配置正确性
确保targetSdkVersion设置正确,同时指定兼容的Gradle版本:
<preference name="android-targetSdkVersion" value="31" /> <!-- 指定适配的Gradle版本,比如7.1.1 --> <preference name="gradleVersion" value="7.1.1" />
4. 清理构建缓存
删除旧构建文件避免缓存干扰:
# 清理Cordova构建缓存 cordova clean android # 也可手动删除platforms/android和plugins文件夹后重新添加平台
5. 检查并升级插件兼容性
部分旧插件不支持SDK 31,需做如下处理:
- 列出所有插件:
cordova plugin list - 升级插件到最新版:
cordova plugin update [插件名称] - 若插件无更新,考虑替换为替代插件或修改插件代码适配SDK 31
验证修复
执行构建命令测试:
cordova build android --release
内容的提问来源于stack exchange,提问作者DanielRead
相关产品推荐
相关产品推荐

