具体问题
解决方法:
检查是否有插件或者库在构建的时候修改了AndroidManifest.xml,具体是在build过程中Task中运行时的 gradle 任务process{buildVarient}Manifest
将始终更新合并清单的最后修改值。通常,如果清单文件中没有任何更改,则 gradle 会跳过该任务,在Task该行最后有UP-TO-DATE。如果相关文件被修改后,就没有UP-TO-DATE。所以在build文件里干掉相关的库或者插件就好了。
如果实在找不到。可以添加下面的内容,直接跳过修改Manifest的Task,这种情况下,如果真的修改了Manifest文件,就不行了(虽然本来也不能)。
tasks.whenTaskAdded {task ->
if(task.name.contains("Manifest")) {
task.enabled = false
}
}
然后重新构建,窗口里可以发现,Task列表里没有了那几个任务。
这个问题在外网有过讨论,赞最多的回答是因为有一个插件,在构建的时候修改了了清单文件。