迁移到 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>
集成到现有应用 (add-to-app)
#如果你的 Flutter 项目是用于集成到现有 Android 应用的模块,并且包含 .android
目录,请在 pubspec.yaml
中添加以下内容:
module:
...
androidX: true # Add this line.
最后,运行 flutter clean
。
如果你的模块包含 android
目录,那么请按照上面相关章节的步骤操作。
如何判断我的项目中是否在使用 AndroidX?
#从 Flutter 1.12.13 版本开始,用 flutter create -t <project-type>
创建的新项目将默认使用 AndroidX。
在此 Flutter 版本(1.12.13 版本)之前创建的项目不能依赖于任何 旧构建工件 和 旧支持库类。
在应用程序和模块项目中,
android/gradle.properties
或
.android/gradle.properties
文件内必须包含以下内容:
android.useAndroidX=true
android.enableJetifier=true
如果我不将应用程序或模块迁移到 AndroidX 会怎么样?
#你的应用程序也许能继续使用。然而,一般不建议将 AndroidX 和 Android Support 结合使用,因为它可能导致依赖冲突或其他类型的 Gradle 故障。因此,随着越来越多的插件迁移到 AndroidX,依赖于 Android 核心库的插件可能会导致构建失败。
如果我的应用程序已经迁移到了 AndroidX,但我使用的插件未全部支持 AndroidX 怎么办?
#Flutter 工具通过 Jetifier 将使用支持库的 Flutter 插件自动迁移到 AndroidX,因此,即使这些插件尚未迁移到 AndroidX,你仍然可以使用它们。
我在迁移到 AndroidX 的过程中遇到问题
#在 GitHub 提出一个 issue
并在 issue 的标题中添加 [androidx-migration]
。
除非另有说明,本文档之所提及适用于 Flutter 的最新稳定版本,本页面最后更新时间: 2024-09-04。 查看文档源码 或者 为本页面内容提出建议。