美文网首页
ERROR: Manifest merger failed :

ERROR: Manifest merger failed :

作者: 天青色等Y雨 | 来源:发表于2019-08-27 11:17 被阅读0次

    错误日志是这样的:
    ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22: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 manifestMerger3684781773578449555.xml:7:5-9:19 to override.


    \color{#000042}{ run-with说添加下面代码或者其他的替换信息:}

    tools:replace="android:appComponentFactory
    

    \color{#000042}{ 然后加完之后:}

    Error:tools:replace specified at line:15 for attribute android:appComponentFactory, but no new value specified...
    

    \color{#000042}{ 继续run-with,添加代码,继续报错...}

    \color{#000042}{最终明白根本原因:AndroidX、Android Support库不能共存。}

    \color{#000042}{解决方案:}
    \color{#000042}{依赖AndroidX的第三方库降低版本转换成Android Support,}
    \color{#000042}{或者依赖Android Support的第三方库转换成AndroidX,我这}
    \color{#000042}{里是第一种}

    • \color{#FF0000}{查看哪些库依赖了AndroidX,执行命令:}
    gradlew :app:dependencies
    
    执行之后搜索结果.png
    • \color{#FF0000}{找到依赖AndroidX的第三方库,降低版本就好了}

    注意:在app的build.gradle中添加一些第三方依赖的时候,可能不标明具体版本号,用
    +号代替(自动寻找最新版本,耗时耗力),比如:
    implementation 'com.android.support:multidex:+'
    
    这样第三方更新之后可能我们的程序也就崩溃了,之前我就是这样子,后来第三方更新后
    依赖了AndroidX ,然后就是这篇文章的由来了。

    相关文章

      网友评论

          本文标题:ERROR: Manifest merger failed :

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