Manifest合并报错提示多错误,但合并清单无错误该如何排查?
直接查看Gradle构建日志
打开Android Studio的Gradle面板,找到对应模块,展开Tasks > android,双击processDebugManifest(如果是release构建就选processReleaseManifest)。执行完成后,Run面板会输出完整的合并日志,里面会明确列出所有错误细节,比如冲突的Manifest条目、来源文件等。也可以直接在终端执行命令:./gradlew processDebugManifest --stacktrace(Windows系统用gradlew.bat processDebugManifest --stacktrace),能拿到更详细的报错追踪信息。检查build目录下的合并报告
构建失败后,去项目的build/outputs/logs目录找manifest-merger-<variant>-report.txt文件(比如manifest-merger-debug-report.txt)。打开这个文件,里面完整记录了Manifest合并的全过程,包括所有参与合并的文件、每个条目的处理结果,那些IDE没显示的错误也会在这里呈现。强制显示所有潜在问题
有时候IDE会自动忽略部分错误,你可以在模块的build.gradle里添加以下配置,强制把警告升级为错误显示:android { lintOptions { checkAllWarnings true warningsAsErrors true } }同步项目后重新构建,原本被隐藏的问题可能就会显示出来。
清理缓存排查异常
点击Android Studio顶部的File > Invalidate Caches...,选择Invalidate and Restart。也可以手动删除项目根目录的.gradle文件夹和模块下的build文件夹,再重新同步构建——有时候缓存混乱会导致报错信息无法正常显示。
内容的提问来源于stack exchange,提问作者poppe

