Android编译报错:android.support.design.button包不存在求助
问题根源
你当前的项目同时混用了AndroidX和旧版Support Library,这是导致编译失败的核心原因:
- 依赖中包含多个AndroidX库(比如
androidx.appcompat:appcompat、androidx.recyclerview:recyclerview) - 但仍保留了旧版的
com.android.support:design:28.0.0依赖 - 布局文件里引用的是旧Support库的
android.support.design.button.MaterialButton,而AndroidX环境下无法识别这个包路径
分步解决方案
1. 替换旧Support依赖为AndroidX Material库
打开Module级别的build.gradle,找到dependencies块,移除旧的design依赖:
implementation 'com.android.support:design:28.0.0'
替换为AndroidX的Material Components库(选择与你的targetSdkVersion兼容的版本,这里推荐匹配28的稳定版):
implementation 'com.google.android.material:material:1.1.0'
2. 更新布局文件中的控件引用
打开报错的布局xml,把旧的MaterialButton包路径替换为AndroidX版本:
原代码:
<android.support.design.button.MaterialButton ... />
修改为:
<com.google.android.material.button.MaterialButton ... />
3. 确保AndroidX配置正确(可选但推荐)
检查项目根目录的gradle.properties文件,确认以下配置已开启,这会自动帮你迁移旧依赖到AndroidX版本,避免后续冲突:
android.useAndroidX=true android.enableJetifier=true
4. 清理并重新编译项目
执行以下Gradle操作:
- 点击Android Studio工具栏的
Build > Clean Project - 然后点击
Build > Rebuild Project
额外提示
如果还有其他旧Support库的引用(比如com.android.support:开头的依赖),建议全部替换为对应的AndroidX版本,你可以通过官方的类映射表查找对应关系。
内容的提问来源于stack exchange,提问作者Alexei
相关产品推荐
相关产品推荐

