迁移到 AndroidX

AndroidX 是针对 Android 原生支持库的重大改进。

其提供了包名为 androidx.*,且并未与平台 API 关联的类库,这意味着它提供了向后的兼容性,以及比 Android 平台更频繁的更新。

常见问题

如何将现有的应用程序、插件,或者可编辑的模块项目迁移至 AndroidX?

你需要 Android Studio 3.2 或其更高的版本。若尚未安装,可从 Android Studio 页面下载最新的版本。

  1. 打开 Android Studio。

  2. 选中 Open an existing Android Studio Project

  3. 在你的应用路径中打开 android 目录。

  4. 等待项目直到其同步成功。

(一旦打开项目,同步就会自动构建,若没有自动构建,请从 File 菜单中选中 Sync Project with Gradle Files)。

  1. Refactor 菜单中选择 Migrate to AndroidX

  2. 在继续之前,若被要求对项目进行备份,选中 Backup project as Zip file ,然后单击 Migrate ,最终将 zip 文件保存在你喜欢的路径下。

Select backup project as zip file

  1. 重构预览展示了变动的列表,最后,单击 Do Refactor

An animation of the bottom-up page transition on Android

  1. 大功告成!你已成功将项目迁移到 AndroidX。

最后,如果你对插件进行了迁移,请发布新的 AndroidX 版本到 pub 并更新的 CHANGELOG.md,以指明该版本与 AndroidX 兼容。

若无法使用 Android Studio 怎么办?

你可以使用 Flutter 工具创建一个新项目,然后将 Dart 代码和资源文件移动到新的项目中。

要创建一个新的项目,请运行:

flutter create -t <project-type> <new-project-path>

添加至应用

若的 Flutter 项目类型是用于添加至现有 Android 应用的模块,并且包含 .android 目录,则将下述代码添加至 pubspec.yaml 中。

 module:
   ...
    androidX: true # Add this line.

最后,运行 flutter clean

若你的模块中包含一个 android 目录,请按照上一节中的步骤执行。

如何判断我的项目中是否使用了 AndroidX?

自 Flutter 1.12.13 版本之后,使用 flutter create -t <project-type> 命令行创建的 Flutter 项目将会默认使用 AndroidX。

在此 Flutter 版本(1.12.13)之前创建的项目不能依赖任何 工件映射类映射

android/gradle.properties.android/gradle.properties 文件中需要包含下述代码:

android.useAndroidX=true
android.enableJetifier=true

若不将应用程序或模块迁移至 AndroidX 将会怎样?

你的应用程序也许能继续运行。然而,通常不建议将 AndroidX 和 Support 组件结合起来使用,因为这会导致依赖关系冲突或者 Gradle 的其它类型失败。

若我将应用迁移到了 AndroidX,但我使用到的插件没有全部支持 AndroidX 怎么办?

Flutter 工具使用 Jetifier 将支持库中的 Flutter 插件自动迁移到 AndroidX,因此,即使你尚未将其迁移到 AndroidX ,你也可以使用相同的插件。

在迁移至 AndroidX 的过程中遇到了问题

在 GitHub 上创建一个问题 并为其添加一个 [androidx-migration] 标题。