最新升级的Android Studio 后,导入新的第三方库,发现没有 V4的Fragment,
检查项Mode的Gradle 发现com.android.support:appcompat-v7没有问题,
后来发现一些默认的第三方依赖
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
1
2
3
由原来的androd.变成了androidx*
后来百度了下androidx ,它是官方升级让我们默认要去自动去引用的,它和原来的android的区别是
做了不同版本的兼容,
比如我们项目不同的Mode分别引用的implementation A-1.0库 implementation A-2.0库
A-2.0和A1.0其中的API发生了相关的变化,从而导致项目无法正常运行,虽然Gradle为我们提供了
exclude 但是还是我们要去比较来用,用androidx*就可以直接规避掉这个问题,做了相关的向下兼容。
如果不想用androidx我么可以直接在 gradle.properties中注释掉
android.useAndroidX=true
android.enableJetifier=true
1
2
就可以了,再将原来的dependencies下所有的androidx的包改成android就可以正常使用了。
如果想用androidx
看到网上说还有很多androidx的兼容性的问题,很多的坑 慢慢踩吧