美文网首页UI
androidx 和 android support库不能共存

androidx 和 android support库不能共存

作者: 占卜L | 来源:发表于2019-03-25 10:36 被阅读0次

    错误信息

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

    造成原因

    由于引入的第三方依赖库依赖了androidx ,而自己本身的库又是依赖的support ,导致两者不能共存。

    解决方案

    方案一:

    降低第三方依赖库的版本

    方案二:

    在Appliacation 中加入一下代码:

    android:appComponentFactory=""
    tools:replace="android:icon,android:theme,android:allowBackup,android:appComponentFactory">
    

    方案三:转换成Androidx

    1.将build tools更新到3.2.0,gradle更新到4.6,依赖库统一更新到28.0.0,这一步非常重要,否则会导致第二步不能完全转换成功

    2.选择工程右键→Refactor→Migrate to Androidx...

    3.选中所有需要重命名的目录,执行Do Refactor

    4.发现已经看不到support库了,运行成功安装app。

    查看依赖树

    方式一使用AS自带的工具,双击截图位置。


    image.png

    方式二使用命令行.app 是module 名称

    gradlew :app:dependencies
    

    依赖日志输出到文件

    gradlew :app:dependencies >log.txt
    

    相关文章

      网友评论

        本文标题:androidx 和 android support库不能共存

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