升级cordova-android至11.x后Cordova Android构建失败
解决Cordova-Android 11升级后的资源链接错误
错误根源
你遇到的这些资源链接错误,核心是Android SDK版本与依赖库的兼容性不匹配:
windowSplashScreenAnimatedIcon这类属性是Android 12(API 31)才引入的系统属性,如果项目的compileSdkVersion或targetSdkVersion没升到31及以上,AAPT工具肯定找不到这些属性。android:attr/lStar是Android 12新增的颜色亮度属性,androidx.core:core:1.7.0依赖这个属性,SDK版本不够就会触发该错误。
修复步骤
1. 同步SDK版本配置
打开项目platforms/android/app/build.gradle,确保以下配置符合Cordova-Android 11的要求:
android { compileSdkVersion 33 // Cordova-Android 11要求最低为33 defaultConfig { targetSdkVersion 33 // 保留其他原有配置 } }
2. 调整AndroidX依赖版本
androidx.core:core-splashscreen:1.0.0需要配合兼容的androidx.core:core版本,避免自动拉取的版本与SDK不兼容,在build.gradle的dependencies块里添加或修改:
dependencies { implementation 'androidx.core:core:1.9.0' implementation 'androidx.core:core-splashscreen:1.0.0' // 保留其他原有依赖 }
3. 清理缓存并重构
执行以下命令清除旧缓存,避免残留文件干扰:
# 重新添加Android平台 cordova platform remove android cordova platform add android@11.x # 清理Gradle缓存 cd platforms/android ./gradlew clean
之后再执行cordova build android重新构建项目。
4. 检查config.xml配置
确保config.xml里的Android配置与SDK版本一致:
<platform name="android"> <preference name="android-targetSdkVersion" value="33" /> <preference name="android-compileSdkVersion" value="33" /> <!-- 保留其他原有配置 --> </platform>
内容的提问来源于stack exchange,提问作者Oliver Burger
相关产品推荐
相关产品推荐

