AndroidX库和一般库的详细对比以及迁移中遇到的坑总结

1字数 572阅读 296

本文同步发布在Github:Android Studio版本、Gradle版本、Build Tools版本、AndroidX对照详细解答

一、AndroidX库和一般库的详细对比

官方有好几个文件提出了如何迁移到AndroidX库,具体如下:

【Tips】:如果你不知道用哪个库,也不知道用哪个版本的话,可以直接看下面这个图:

但是官方的那几个链接看起来还不是很舒服,想找的东西不好找,有时候你想用一个库接找半天才找到,所以我就把AndroidX和普通的依赖库做成了一张对比表,方便大家查阅和使用。如下图所示(图片很大,需要双击放大才可以看得更清楚,或者直接看原图):

AndroidX与Support库及其他库的对比:

AndroidX库和一般的support库版本完整对比图1.png

AndroidX特有的库:

AndroidX库和一般的support库版本完整对比图2.png

不属于AndroidX的库(Design库,没想到基本上常用的Support库都放到AndroidX中了,只有Design库没有放进去,不知道为啥?而且依赖库的包名都不一样?):

AndroidX库和一般的support库版本完整对比图3.png

二、遇到的问题汇总

1、android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.1) classpath.You should manually set the same version via DependencyResolution

我把gradle-wrapper.properties里面设置的gradle版本号设置成4.10.2,即:distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip,然后重新编译一下项目。

2、Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable configuration on demand by setting org.gradle.configureondemand=false in your gradle.properties file or use a Gradle version less than 4.6.

Android Studio版本是3.1.3,,gradle-wrapper.properties里面设置的gradle版本号是distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip,然后编译就出了这个错误。

我把根目录的build.gradle设置成classpath 'com.android.tools.build:gradle:3.3.1',然后重新编译一下,就OK了。