错误信息
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
网友评论