Android Studio无法解析ActivityCompat等类及Manifest合并失败如何解决
Android Studio构建报错解决方案
第一步:排查Manifest合并错误
你当前首先要获取Manifest合并失败的具体原因:
- 点击Android Studio底部的「Build」标签页,展开完整的构建失败日志,定位到Manifest merger相关的具体报错条目,常见的错误原因包括包名不匹配、权限/组件/主题配置重复、改包名后Manifest的package字段未同步修改
- 检查
AndroidManifest.xml文件:确认根节点的package属性值与build.gradle中defaultConfig下的applicationId完全一致,删除重复声明的权限、组件配置。
第二步:解决AppCompat相关类无法识别的问题
你提供的build.gradle依赖配置本身没有问题,无法识别类属于缓存异常导致,按以下顺序操作:
- 点击IDE右上角的「Sync Project with Gradle Files」按钮,完成Gradle同步后查看报错是否消失
- 若同步后仍报错,点击菜单栏
File > Invalidate Caches,勾选「Clear file system cache and local history」,点击「Invalidate and Restart」重启Android Studio,等待索引重建完成后校验 - 上述操作无效的情况下,删除项目根目录下的
.gradle、.idea文件夹,以及app模块下的build文件夹,重新打开项目执行Gradle同步
第三步:修复全局配置异常(解决新建项目也报错的问题)
因为你修改包名、添加外部jar后全局配置异常,需要清除全局Gradle缓存:
- Windows系统:进入
C:\Users\你的用户名\.gradle\caches目录,删除目录下所有文件 - Mac系统:进入
~/.gradle/caches目录,删除目录下所有文件
重启Android Studio后会自动重新下载所需依赖,即可解决全局缓存冲突导致的所有项目都报错的问题。
第四步:修复布局文件报错
你提供的布局文件存在两个问题:
- 所有控件的约束都设置为对齐父布局居中,会导致所有控件堆叠在同一个位置,可根据需求调整约束规则
- Button控件声明了
android:onClick="go"属性,但你没有在MainActivity中实现对应的public void go(View view)方法,要么删除该onClick属性,要么在MainActivity中补充对应的方法实现。
内容的提问来源于stack exchange,提问作者AK11
相关产品推荐
相关产品推荐

