https://blog.csdn.net/qq_35605213/article/details/99307055
Android 升级到AndroidX Glide 异常 android.support.annotation.CheckResult;
https://blog.csdn.net/dhl_1986/article/details/111035545
android项目迁移到androidX:类映射(android.support.design*
https://blog.csdn.net/dhl_1986/article/details/111035545
Android support项目升级到androidx
https://blog.csdn.net/dhl_1986/article/details/111035545
AndroidX对应表、androidX与旧包对照表
https://blog.csdn.net/qq_35605213/article/details/99305921
先不谈为什么要升级AndroidX了,下面是我这个项目升级AndroidX踩的坑,记录一下(我是按照我的顺序来的):
1、升级Gradle版本,修改gradle-wrapper.properties:
AndroidX最低支持的gradle版本是4.6,我这边直接5.1.1了;
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
2、升级插件版本:
在主工程(Project)的bulid.gradle里,AndroidX最低支持的版本是3.2,我这边直接3.4.1了;
classpath 'com.android.tools.build:gradle:3.4.1'
3、修改SdkVersion
AndroidX最低支持 28 、28.0.2;
compileSdkVersion: 29
targetSdkVersion : 29
buildToolsVersion "29.0.0"
附带添加一下这个gradle.properties:
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
4、使用 Migrate to androidx
这波操作以后,你的项目就会有大变动了:
原来的android.xxx.xxx.28.0.2全部变为androidx.xxx.xxx.1.0.0;
下面的这些引入也会变化:
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.appcompat.widget.AppCompatTextView;
坑1、Glide:
Glide中使用的 android.support.annotation.CheckResult 和android.support.annotation.NonNull这两个注解找不到;
解决方法:使用glide4.8.0 、 bulid.gradle中添加以下声明;
"libGlide" : "com.github.bumptech.glide:glide:4.8.0",
"libGlideCompiler" :"com.github.bumptech.glide:compiler:4.8.0"
//解决Glide找不到Android声明库问题
annotationProcessor 'androidx.annotation:annotation:1.0.0'
坑2、ButterKnife
使用ButterKnife 10.1.0版本;
classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0' //这个地方也别忘记改为10.1.0
坑3、Android-PickerView:
PickerView的 com.contrarywind.interfaces.IPickerViewData 会找不到;升级到4.1.8版本即可;
注意:AndroidX升级后android.support.design 或 android.support.xxx 将会不可用,找不到这些文件;
需要使用AndroidX的新包:AndroidX对应表、androidX与旧包对照表;
————————————————
版权声明:本文为CSDN博主「Choi晨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35605213/article/details/99307055