React Native Android无法构建Release包:verifyReleaseResources任务失败求助
解决React Native Android Release构建失败:
Task :react-native-device-information:verifyReleaseResources FAILED 嘿,我之前也踩过这个一模一样的坑!这个报错的核心原因是react-native-device-information这个第三方依赖的Android资源配置和你的项目SDK版本不兼容——它依赖的appcompat库版本(1.0.2)太低,而你的项目用了更高的SDK编译,导致老版本库找不到android:attr/colorError这个在API 26及以上才引入的资源属性。
下面是几种靠谱的解决办法,按推荐程度排序:
方法1:直接升级react-native-device-information到最新版
这是最省心的方案,新版本的库已经适配了更高的Android SDK版本,早就修复了这个资源冲突问题。在项目根目录执行命令:
# npm用户 npm install react-native-device-information@latest --save # yarn用户 yarn add react-native-device-information@latest
之后重新尝试构建Release包:
cd android && ./gradlew assembleRelease
方法2:强制统一项目的appcompat库版本
如果暂时没法升级依赖,可以在项目的android/build.gradle文件里加一段配置,让所有依赖都使用同一个兼容的appcompat版本:
subprojects { afterEvaluate { project -> if (project.hasProperty("android")) { android { compileSdkVersion 33 // 改成你项目实际用的compileSdkVersion buildToolsVersion "33.0.0" // 对应版本号 } configurations.all { resolutionStrategy { force 'androidx.appcompat:appcompat:1.6.1' // 选一个和你SDK兼容的版本,比如1.6.1 } } } } }
修改完同步Gradle,再重新构建就行。
方法3:检查并更新项目的Android SDK基础配置
先确认你的android/app/build.gradle里的SDK配置是符合当前标准的:
android { compileSdkVersion 33 buildToolsVersion "33.0.0" defaultConfig { minSdkVersion 21 // 根据你的需求调整,建议至少21以上 targetSdkVersion 33 // ...其他项目配置 } }
同步后清理缓存再构建:
cd android && ./gradlew clean && ./gradlew assembleRelease
补充一句:
colorError是AndroidX AppCompat库在高版本中新增的属性,老版本的库根本没这个资源定义,所以当依赖的库用了老appcompat,而你的项目用高SDK编译时,就会出现这种资源链接失败的问题。
内容的提问来源于stack exchange,提问作者Naveen Jadala
相关产品推荐
相关产品推荐

