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