React Native安卓构建失败:mergeDebugResources任务执行出错
React Native Android构建失败:无法确定标签'?attr/shapeAppearanceCornerSmall'的类型
错误详情
错误:构建因异常失败。
问题所在:任务':app:mergeDebugResources'执行失败。
/Users/dev/.gradle/caches/transforms-2/files-2.1/7b319432e3236246984211c4b06e5288/material-1.8.0/res/values/values.xml: 错误:无法确定标签'?attr/shapeAppearanceCornerSmall'的类型
问题原因
?attr/shapeAppearanceCornerSmall是Material Components 1.8.0引入的属性,但项目中androidx.appcompat:appcompat被严格锁定在1.3.1版本,该版本不支持这个属性,导致资源合并时出现类型识别错误。
解决方案
1. 升级AppCompat并移除版本严格限制
修改app/build.gradle中的AppCompat依赖配置,移除版本强制限制并升级到兼容版本:
// 替换原有AppCompat依赖配置 implementation "androidx.appcompat:appcompat:1.6.1"
2. 统一Material Components版本(可选但推荐)
在项目根目录build.gradle中添加版本约束,避免依赖冲突:
buildscript { ext { // 保留原有配置,新增Material版本 materialVersion = "1.8.0" } // ... 其他配置不变 } allprojects { configurations.all { resolutionStrategy { // 保留原有配置,新增Material版本强制 force "com.google.android.material:material:$materialVersion" } } }
3. 修复WorkManager依赖冲突
项目中同时引入了WorkManager 2.6.0和2.7.0,移除重复依赖:
// 保留一个版本即可,推荐保留较新版本 implementation("androidx.work:work-runtime-ktx:2.7.0") { force = true }
4. 清理缓存并重新构建
执行命令清理项目缓存后重新构建:
./gradlew clean ./gradlew assembleDebug
内容的提问来源于stack exchange,提问作者Ravis Farooq
相关产品推荐
相关产品推荐

