你导入的项目报android.support.v7.XXX的错误?
是时候迁移AndroidX了

什么是AndroidX?

AndroidX是google对 android.support.xxx 包整理后的产物。由于之前的support包过于混乱,所以google推出了AndroidX。

AndroidX具体情况可以参见这篇文章
总是听到有人说AndroidX,到底什么是AndroidX? 此教程适用于Android Studio 3.6及以上版本,3.6以下版本有bug,会存在转换不完整、转换出错等情况(亲测),所有还没升级到3.6及以上版本的赶紧升级一下吧

如果您的Android Studio版本已经是3.6及以上版本,那么请接着往下看

首先打开Module目录下面的build.gradle文件修改下图红框框部分成最新的版本,如果不懂得最新版本是什么,可以新建一个项目对照(我这里目前是最新的,以后不一定是)

androidx库能兼容低版本吗 androidx是什么版本_android studio


再修改项目下面的build.gradle,把gradle版本指定成最新的,具体版本可新建项目对照,然后看两个repositories闭包里面有没有google(),没有就加上

androidx库能兼容低版本吗 androidx是什么版本_android studio_02


接下来打开项目下面的gradle->wrapper->gradle-wrapper.properties,修改红框框里面的内容,具体内容可新建项目对照

androidx库能兼容低版本吗 androidx是什么版本_android_03


再编辑项目下的gradle.properties文件,加入

android.useAndroidX=true

如果有了就不用加,然后点击编辑器右上方Sync Now同步

同步好了之后,对着你的项目名右击 → Refactor → Migrate to AndroidX,就会弹出如下图所示的窗口。如果你勾选了Backup project as Zip file,Android Studio就给你的项目做一个备份,这样即使迁移之后出现了问题你还可以随时还原回之前的代码。

androidx库能兼容低版本吗 androidx是什么版本_gradle_04


接下来点击Migrate,出现下图内容,直接点击Do Refactor就可以了

androidx库能兼容低版本吗 androidx是什么版本_安卓_05


稍等一会就转换好了,但可能有一些还是没成功转换,此时点击构建,看那个类报错就打开哪个类,光标移到报红的类名一顿 ALT+Enter 导包,导完后直接把报红的impport语句删除掉就可以了。弄完后如果构建还报xml文件的错,这时可能是布局文件里的AndroidX控件未更换类名,改这个可能麻烦点,需要自己对照包名