是时候使用AndroidX了
2020-06-28 本文已影响0人
一介书生_坚持一定很酷
什么是AndroidX
AndroidX是一个软件包/库,是对Android Support Library的一次升级。Support Library在Android 28.0.0 之后已经不再维护。
为什么要迁移到AndroidX
从Android支持库迁移到AndroidX,有四个原因:
- 28.0.0是Android支持名称空间的最新版本,将不再发布 android.support 库版本,所有新功能都将在 androidx 命名空间中开发。
- AndroidX使用标准化命名和独立的版本控制,和更频繁的发行。
- 其他库包括Google Play服务,Firebase,Butterknife,Mockito 2和SQLDelight等都已迁移为使用AndroidX名称空间库。
- 所有新的Jetpack库都将在AndroidX名称空间中发布。
迁移旧项目到AndroidX
迁移准备
在迁移到AndroidX之前,需要做以下准备:
- 备份项目。如果已经使用了源代码控制工具,仍然建议进行备份,因为迁移会更改项目中的许多文件。
- 创建一个新分支,在该分支上进行迁移更改。
- 如果可能的话,在迁移过程中暂停或最小化开发(至少不要尝试进行重构或引入新功能),这将有助于减少可能发生的合并冲突。
开始迁移
步骤1:更新支持库版本
把Support Library的更新到28,直接从Support Library旧版本迁移,不仅需要解决名称空间的更改,还需要解决旧版本和AndroidX之间API的更改。AndroidX 版本 1.0.0的是与Support Library 28.0.0 等效的二进制文件,他们所有的API都相同,意味着从28迁移到AndroidX 1.0.0 时,几乎不需要修补。
步骤2:启用Jetifier
在gradle.properties
文件中添加以下内容:
android.useAndroidX = true
android.enableJetifier = true
Jetifier帮助迁移第三方依赖项以使用AndroidX。
步骤3:更新依赖关系
将每个第三方库(例如Butterknife,Glide,Mockito 2和SqlDelight)更新到该库的最新版本。否则可能导致无法解释的编译错误。
步骤4:更新源码
-
Android Studio
推荐的方式,Android Studio可以在重构时检查源代码以做出正确的决定。
image.png
新建项目使用AndroidX
Android Studio 4.0
不要勾选红色方框内容即可
image.png