React Native打Release包时Task :app:checkReleaseAarMetadata FAILED如何解决
问题原因
报错是由于项目间接依赖的androidx.core:core库自动升级到了1.7.0-alpha02版本,该版本在AAR元数据中要求最小compileSdk为31,与你项目当前配置的compileSdk 30不匹配。你之前单独在app层级的build.gradle添加core-ktx依赖不生效的原因有两个:一是冲突的依赖是Java版本的core库,而非ktx扩展库;二是没有配置全局强制版本锁定规则,间接依赖的高版本优先级会高于你手动添加的低版本直接依赖。
解决方案
按照以下步骤操作即可修复:
- 打开项目根目录下的
android/build.gradle文件(注意不是app子目录下的build.gradle),找到allprojects配置块,添加全局依赖版本锁定规则:
allprojects { configurations.all { resolutionStrategy { // 强制全局所有androidx.core相关依赖使用1.6.0版本,该版本兼容compileSdk 30 force 'androidx.core:core:1.6.0' force 'androidx.core:core-ktx:1.6.0' } } // 原有其他allprojects配置保持不变 }
- 清理本地构建缓存避免旧缓存干扰:
- 进入安卓目录执行清理命令:
cd android && ./gradlew clean - (可选)若清理后仍报错,可删除项目依赖缓存重新安装:
rm -rf node_modules package-lock.json yarn.lock && npm install
- 进入安卓目录执行清理命令:
- 重新执行Release打包命令:
cd android && ./gradlew assembleRelease
如果后续遇到其他同类AAR元数据minCompileSdk不匹配的报错,只需将报错信息中提示的依赖包名和对应兼容compileSdk 30的版本号,同样添加到resolutionStrategy的force规则中即可。
内容的提问来源于stack exchange,提问作者Rohit Aggarwal
相关产品推荐
相关产品推荐

