Androidx和Android support库共存问题解决
Androidx和Android support库不能共存
解决方案一 转换成Androidx
-
将build tools更新到3.2.0,gradle更新到4.6,依赖库统一更新到28.0.0,这一步非常重要,否则会导致第二步不能完全转换成功。
image.png
修改完成后,可以看到依赖库都是28.0.0的 -
选择工程右键→Refactor→Migrate to Androidx...
-
选中所有需要重命名的目录,执行Do Refactor
-
发现已经看不到support库了,运行成功安装app。
解决方案二 转换成Android Support
- 查看那些库依赖了Androidx,执行
gradlew :app:dependencies
image.png
- 发现是第三方库
implementation 'com.github.chrisbanes:PhotoView:latest.release'
引用了Androidx,登陆其官网https://github.com/chrisbanes/PhotoViewimage.png
-
发现刚好9天之前发布了新版本,今天2018-10-9,刚好可以节前可以运行,节后不能运行的疑问。
找到了问题,果断回退这个依赖库的版本到2.1.4.image.png
- 发现看不到androidx库了,运行成功安装app。
PS:
依赖库的时候,尽量不要使用latest.release
,而使用具体的版本。
- 不会因为依赖库更新,引起兼容问题;
- 减少每次去查找最新版本,可以节省编译时间。**
PS:
还有小伙伴说在manifest的<application >加上
tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"
可以试试...