美文网首页
ERROR: Manifest merger failed

ERROR: Manifest merger failed

作者: 王魔王 | 来源:发表于2019-10-19 10:07 被阅读0次

    Android项目编译时碰到的异常,而我们查看日志的话显示如下

    ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.1.0] AndroidManifest.xml:24:18-86
        is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
        Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
    

    下面是AndroidStudio的日志截图

    AndroidStudio的日志显示
    编译异常通常比较难搞,这是因为我们对Gradle掌握的太少的缘故,不过这并不影响我们排错。
    出了错首先就是要看日志,日志通常能解决我们90%的问题,剩下的10%我们多看几遍多碰到几遍也能记住【手动微笑】
    我们来仔细看日志
    ERROR: Manifest merger failed :Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from[androidx.core:core:1.1.0] AndroidManifest.xml:24:18-86
    is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).

    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
    日志的开头说:
    ERROR: Manifest merger failed,翻译过来就是清单文件合并失败了,千万不要看到这里就去检查清单文件,接着往下看,当你看到xxx is alos present at xxx的时候,你应该明白是包冲突了
    发生冲突的包就是 is also present at 前后描述的两个包
    从Suggestion开始的就是ide自动提示给我们的解决方案,而这个推荐的解决方案,很多时候都并不够准确

    解决方案

    仔细看日志中发生冲突的两个包,删掉自己不想使用的那一个

    一般发生包冲突都是我们导入了相同的包,在Android开发中,导入包的操作通常有:

    • 添加本地jar包,即在lib目录下添加jar包
    • 添加远程依赖的时候
      看到这里明白了吧,你应该仔细去检查你的lib目录下和你的gradle文件中的依赖,看看是不是有依赖冲突
      本例的gradle文件
      红框中的就是发生冲突的依赖,appcompat同时依赖了android和androidx包下的,删掉一个依赖就行了
      PS:ERROR: Manifest merger failed是非常常见的一个编译异常,一定要仔细看日志,否则你可能照着帖子处理了半天发现依然解决不了问题,然后说别人的帖子写的不对,其实很多时候很有可能是别人的帖子中的情况与你的情况不匹配。就像是大夫看病一样,找到病症了才能药到病除,否则只看表像永远难以解决问题。
      祝大家在Android开发的道路上越走越顺利!!!

    相关文章

      网友评论

          本文标题:ERROR: Manifest merger failed

          本文链接:https://www.haomeiwen.com/subject/pcegmctx.html