例如这个报错:
Error:Execution failed for task ‘:XXXX:processDebugManifest’. > Manifest merger failed with multiple errors, see logs,以前看到这个说see logs不知道在哪?
【问题描述】
项目源代码使用as开发的,伴随着几个依赖项目,导入adroid studio,build,报错:
Error:Execution failed for task ‘:XXXX:processDebugManifest’.
> Manifest merger failed with multiple errors, see logs
【调查分析】
原因一:
依赖项目与主项目minSdkVersion targetSdkVersion版本不一致
原因二:
Manifest.xml本身有错误,比如什么配置写重复了,<intent-filter>中缺少<action>和<category>啦
原因三:
也是网上大多数给出的答案--AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。
解决方式是在主项目manifest.xml的<manifest>标签里,加一句xmlns:tools="http://schemas.android.com/tools",并在<application>标签里加上:
tools:replace="icon,label,theme"这样。
【结尾】什么?还是报错?哦,我也许该在前面讲的,在messages gradle build窗口,漏斗图标上面一个,像笔记本一样的图标,点一下,那是详细的build日志,包括哪一行编译失败,原因是什么。上边的原因二,不用真的自己去查找,原因三,也不是icon,label,theme,三个都要写。自己看日志排查一下吧~
以前都是发现这种错误不知道错误错在哪?胡乱网上百度。这里分析问题就可以从根本上寻找,提高效率。