虽然迁移后功能没有什么变化, 但这是官方指导的一个趋势,很多开源库的新版本也都进行的迁移,如果你不用AndroidX则只能使用旧的版本。所以新项目建议都用AndroidX,老项目也尽可能的迁移吧
一键迁移AndroidX库
前置条件
- 将AS更新至 AS 3.2及以上;
- Gradle 插件版本改为 4.6及以上;
项目下 gradle/wrapper/gradle-wrapper.propertie 文件中的distributionUrl改为:
distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip - Gradle版本3.2以上
项目下build.gradle中 dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
} - compileSdkVersion 版本升级到 28及以上;
- buildToolsVersion 版本改为 28.0.2及以上。
方法
选择菜单上的ReFactor —— Migrate to AndroidX... 即可。
如果迁移失败,就需要手动去修改迁移
手动迁移
1.更新升级插件(见一键迁移的前置条件)
2.开启迁移AndroidX
在项目的gradle.properties文件里添加如下配置:
#表示项目启用 AndroidX 并迁移到 AndroidX。
android.useAndroidX=true
android.enableJetifier=true
3.替换依赖库
修改项目app目录下的build.gradle依赖库:
implementation 'com.android.support:appcompat-v7:28.0.2' → implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.android.support:design:28.0.2' → implementation 'com.google.android.material:material:1.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2' → implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
...
4.修改支持库类
将原来import的android.包删除,重新import新的androidx.包;
比如import android.support.v7.app.AppCompatActivity;
→ import androidx.appcompat.app.AppCompatActivity;