记一次问题处理(1):Manifest merger failed with multiple errors, see logs

今天项目引入第三方库时报了一个错:

记一次问题处理(1):Manifest merger failed with multiple errors, see logs

首先看看错误大概是什么:

记一次问题处理(1):Manifest merger failed with multiple errors, see logs

抓到最关键的信息: Execution failed for task ':app:processDebugManifest' ,  也就是在运行processDebugManifest这个task的时候报错了,到现在为止我们只知道这些,接下来就是解决这个问题了。我们用gradlew命令运行processDebugManifest这个task,gradlew processDebugManifest --stacktrace

记一次问题处理(1):Manifest merger failed with multiple errors, see logs
运行这个命令会让gradle会单独processDebugManifest这个task 并输出它的栈信息,得到以下信息:

记一次问题处理(1):Manifest merger failed with multiple errors, see logs

日志可能会比较多,但是我们抓最关键的,上图中标记的地方已经非常说明问题了:

1.运行这个task的时候抛异常了

2.代入第三方包时报错了,原因是最小的sdk版本 14 不能满足 这个第三方库的最小需要版本 15

3.gradle还给出了建议:把最小sdk版本改为15,或者修改第三方库的最小需要版本,这里我们选择修改自己项目的最小sdk,改成15,问题解决

 

读者遇到这个报错的原因可能会不同,但是gradle 的强大,可以单独运行task,也就能够找到一些报错的蛛丝马迹,当出现类似报错时可以通过这个方式去查找问题。