迁移到 AndroidX
AndroidX 是针对 Android 原生支持库的重大改进。
其提供了包名为 androidx.*
,且并未与平台 API 关联的类库,这意味着它提供了向后的兼容性,以及比 Android 平台更频繁的更新。
常见问题
如何将现有的应用程序、插件,或者可编辑的模块项目迁移至 AndroidX?
你需要 Android Studio 3.2 或其更高的版本。若尚未安装,可从 Android Studio 页面下载最新的版本。
-
打开 Android Studio。
-
选中 Open an existing Android Studio Project 。
-
在你的应用路径中打开
android
目录。 -
等待项目直到其同步成功。
(一旦打开项目,同步就会自动构建,若没有自动构建,请从 File 菜单中选中 Sync Project with Gradle Files)。
-
从 Refactor 菜单中选择 Migrate to AndroidX 。
-
在继续之前,若被要求对项目进行备份,选中 Backup project as Zip file ,然后单击 Migrate ,最终将 zip 文件保存在你喜欢的路径下。
-
重构预览展示了变动的列表,最后,单击 Do Refactor :
-
大功告成!你已成功将项目迁移到 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]
标题。