Android资源编译失败:attr/cornerSize资源重复定义问题求助
解决Material库
attr/cornerSize重复资源错误 我之前在项目里也碰到过一模一样的问题,给你几个经过验证的解决思路:
1. 升级Material库到稳定版
这个重复cornerSize属性的问题是material-1.4.0-beta01的已知bug,官方在正式版1.4.0里已经修复了。直接修改你模块级别的build.gradle(或build.gradle.kts)里的依赖:
// 替换之前的beta版本 implementation 'com.google.android.material:material:1.4.0' // 也可以直接用最新的稳定版,比如1.11.0(兼容性更好) // implementation 'com.google.android.material:material:1.11.0'
2. 彻底清理构建缓存并重新拉取依赖
有时候手动删除缓存文件夹可能不够彻底,用Gradle命令来做全量清理:
./gradlew clean build --refresh-dependencies
这个命令会:
- 清理项目的
build目录 - 清空Gradle缓存
- 重新下载所有依赖包
3. 临时资源排除(不推荐,仅作为应急方案)
如果暂时无法升级版本,可以尝试在build.gradle里配置资源过滤,不过这个方法要谨慎,可能会影响其他Material资源的正常使用:
android { ... sourceSets { main { res { // 排除有重复属性的values文件 exclude 'values/values.xml' } } } }
为什么会出现这个问题?本质是beta版本的Material库在资源打包时出现了重复定义的cornerSize属性,正式版本已经修复了这个打包错误,所以优先推荐升级版本的方案。
内容的提问来源于stack exchange,提问作者Noor Muzammil
相关产品推荐
相关产品推荐

