Manifest merger failed with multiple errors, see logs

Manifest merger failed with multiple errors, see logs

Manifest merger failed with multiple errors, see logs
通常会出现以下的问题,如有不全,欢迎补充。

1、Manifest merger failed with multiple errors, see logs
2、Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from
3、Android:Error:Execution failed for task ‘:app:processDebugManifest’
4、Error:Execution failed for task ‘:app:processDebugManifest’.
5、Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1)
from [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31
?is also present at
[com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1).
?
Suggestion: add ‘tools:replace=“android:value”’ to element at AndroidManifest.xml:25:5-27:34 to override.

等等类似的问题 ,基本都是以下的原因

这些Manifest 的编译失败的问题,相信很多人都遇到过,总之这种问题很耽误时间。
今天记录一下自己遇到问题时的解决办法。
如有不正,欢迎指教。

1.引用module和主程序图片icon,theme,value…值存在复用。
主程序module清单文件中,application节点的android:icon属性引用了@mipmap/ic_launcher图片资源,
而依赖module的清单文件中,同样的android:icon属性却引用了@drawable/ic_launcher这个图片资源,
两个属性值产生冲突,导致合并清单文件失败。
其实英语没那么糟糕,细心点的话,就能看到错误提示中就给出了解决问题的建议。

Suggestion: add ‘tools:replace=”android:icon”‘ to element at AndroidManifest.xml:5:5 to override

意思在AndroidManifest.xml文件的节点中添加tools:replace=”android:icon”属性。

添加 tools:replace=“icon,theme,label,allowBackup”

2.引用module已经添加的依赖主程序就不用添加重复该依赖。(有人说把module的androimanifest的application的theme删除后 就编译成功了。说白了就是module和项目的androidmanifest的application的theme 冲突导致的错误)

3.使用命令行

gradlew processDebugManifest --stacktrace

其中,processDebugManifest是log里面提到的,这个命令是会了获取更多的log信息。根据log提示逐解决。

4.打开AndroidManifest文件
在这里插入图片描述
查看这个里面的报错信息,大多是权限重复 以及集成其他平台的 id 或者scheme重复之类,这个自己根据情况解决。

纸上得来终觉浅,书到用时方恨少。共勉

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115041.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月30日 下午7:00
下一篇 2021年9月30日 下午8:00


相关推荐

  • vue父子组件传值 简单了解vuex

    vue父子组件传值 简单了解vuex一、vue的父子组件之间是如何传值的?首先呢,需要说说的是,vue既然有双向绑定,那为何会有父子组件之间的传值问题?这个问题也简单,vue的组件会供其他的vue页面进行调用,如果数组都是双向绑定的话,那么就容易混乱了,比如a,b页面绑了一个num=10,那b,c页面又绑了num=5,那vue实例的num到底听谁的?所以,这就是vue官网为什么说组件之间的数据只能是单项流通的,而且由父组件传递给…

    2022年5月16日
    96
  • DeviceIoControl端口隐藏

    DeviceIoControl端口隐藏DeviceIoControl端口隐藏通过HookTCP驱动程序的Irp分派例程(irpStack->MajorFunction[IRP_MJ_DEVICE_CONTROL])来隐藏应用层查询端口信息#include<ntddk.h>#defineCO_TL_ENTITY0x400#defineCL_TL_ENTITY0…

    2025年9月27日
    5
  • 自动化测试理论[通俗易懂]

    自动测试并不会在一开始就减少测试人员的工作量、缩短测试时间。自动化测试只能当做是手工测试的补充。毕竟一个项目引入自动化,需要测试人员熟悉这个工具,而且有很多时候不是一个工具就能解决。其次自动化执行的内容也是需要测试人员去编写和考量的,这个过程需要时间。最后就是对自动测试执行后的结果分析,也是需要人自己来做的。1.一些可以自动执行的测试用例:需要多次执行的测试。相反,只执行一次的测试工作一…

    2022年4月11日
    37
  • Java队列实现

    Java队列实现一、队列简单介绍队列是一种常用的数据结构之一,与之前的栈类似,不过队列是“先进先出”。队列有队头(front)和队尾(rear),数据从队尾进入队列,从队头出队列,队头(front)指向队列的第一个数据,队尾(rear)指向队列中的最后一个数据。二、队列实现队列有很多种,这里只是介绍最基本的实现,采用链式存储,也就是链式队列,与之前的链表存储形式一样,通过结点对象描述一个数据,结点对象包含具体数

    2022年7月14日
    15
  • 批处理文件中%~dp0是什么意思?

    批处理文件中%~dp0是什么意思?看批处理文件时,常遇到%~dp0之类的东西,不知其意思。打开WindowsXP自带的帮助系统,搜索“batch”关键字,能找到有关介绍批处理文件的帮助。通过帮助我终于明白了%~dp0是什么意思,总结如下:    我们知道,%*是用来指批处理文件传入的参数。例如%0表

    2025年11月29日
    7
  • java实现Math.sqrt函数

    java实现Math.sqrt函数难易程度:★★★重要性:★★★★★度小满金融的面试中出现过:自己实现Math.sqrt函数//计算:Math.sqrt(num)//原理:牛顿迭代法://https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fr=aladdinprivate…

    2022年5月20日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号