遷移到 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)。

  5. 從選單中選擇 Refactor > Migrate to AndroidX

  6. 在繼續之前,如果你被要求對專案進行備份,請勾選 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>

整合到現有應用 (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]