Androidx和Android support库共存问题解决

1、添加第三方依赖时候报错。

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

经过各种折腾,终于get到,Androidx和Android support库不能共存

Androidx和Android support库共存截图

解决方案一 转换成Androidx

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

image.png

修改完成后,可以看到依赖库都是28.0.0的

image.png

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

image.png

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

image.png

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

解决方案二 转换成Android Support

查看那些库依赖了Androidx,

找到了问题,果断回退这个依赖库的版本到2.1.4.

发现看不到androidx库了,运行成功安装app。

依赖库的时候,尽量不要使用latest.release,而使用具体的版本。

不会因为依赖库更新,引起兼容问题;

减少每次去查找最新版本,可以节省编译时间。**

你可能感兴趣的:(Androidx和Android support库共存问题解决)