AndroidX的迁移

Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android.替换成androidx.;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。

一: 为什么要迁移

  • com.android.support包在28之后不在维护了,而是维护之后的androidx.*包,
  • androidx更加便于以后的统一

二: 迁移的步骤

准备事项

  • 将AS更新至 AS 3.2及以上;
  • Gradle 插件版本改为 4.6及以上;
  • 项目的build:gradle版本3.4.2
  • compileSdkVersion 版本升级到 28及以上;
  • buildToolsVersion 版本改为 28.0.2及以上。
  • 在项目的gradle.properties文件里添加如下配置:
android.useAndroidX=true
android.enableJetifier=true

开始迁移

AndroidStudio — Refactor — Migrate to AndroidX…

注意:如果你的项目compileSdkVersion 低于28,点击Refactor to AndroidX…会提示:

You need to have at least have compileSdk 28 set in your module build.gradle to refactor to androidx

提示让你使用不低于28的sdk,升级最新到SDK,然后点击 Migrate to AndroidX…,AS就会自动将项目重构并使用AndroidX库。

注意问题

有一些第三方库并没有迁移 androidx库,所以项目在使用 androidx库时应当注意兼容问题;
通过在 Terminal 中输入gradlew :app:dependencies命令,查看第三方库的依赖树并找出引用

问题1
AndroidX与Glide不兼容,
具体表现在,找不到以下包

import android.support.annotation.CheckResult;
import android.support.annotation.NonNull;

解决方法

1: app的build.gradle添加 annotationProcessor ‘androidx.annotation:annotation:1.1.0’
2: glide版本升级到4.8.0

你可能感兴趣的:(andorid)