美文网首页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