將應用程式遷移至 Android 11

每次發布 Android 版本時,我們都會推出新功能和行為變更,讓 Android 更實用、更安全且效能更佳。在多數情況下,您的應用程式均可立即正常運作,但在某些情況下,您可能需要變更應用程式以配合平台變更。

一旦原始碼發布到 Android 開放原始碼計畫 (AOSP),使用者就能開始接收新平台。因此應用程式必須準備妥當,且執行狀況符合使用者預期,最好能夠善用新功能與 API,充分展現新平台的優點。

本文概略說明一般開發和測試階段,旨在協助您根據平台發布時程擬定計畫備妥應用程式,確保使用者在 Android 11 享有出色體驗。

一般遷移作業分為兩個階段,可同時進行:

  • 確保應用程式相容性 (在 Android 11 最終版本推出之前)
  • 以新的平台功能和 API 為目標 (在最終版本發布後盡快實現)

本頁將說明各階段的一般步驟。準備好開始使用時,請參閱「取得 Android 11」。

確保與 Android 11 相容

請務必針對 Android 11 測試現有應用程式的功能,確保使用者更新至最新 Android 版本時能享有良好體驗。有些平台變更內容可能會影響應用程式的行為,因此請及早進行詳盡測試,視需要調整應用程式。

一般而言,你不需要變更應用程式的 targetSdkVersion,即可調整應用程式並發布更新。同樣地,您應該也不需要使用新的 API 或變更應用程式的 compileSdkVersion,但這取決於應用程式的建構方式和所使用的平台功能。以下各節將概略說明這些步驟。

開始測試前,請務必先熟悉行為變更,瞭解這些變更可能對應用程式造成的影響 (即使您未變更應用程式的 targetSdkVersion)。

執行相容性測試

大部分情況下,Android 11 的測試相容性與您準備發布應用程式時執行的測試類型類似。建議您趁這個機會複習核心應用程式品質指南測試最佳做法

只要在執行 Android 11 的裝置上安裝目前發布的應用程式,並逐步完成所有流程與功能,同時確認是否有任何問題即可。為協助您專注於測試,請參閱 Android 11 中導入的行為變更,瞭解可能影響應用程式功能或導致應用程式停止運作的行為變更。請務必特別留意隱私權重大異動,並測試為因應這些異動而實作的修正。

此外,請務必檢查並測試受限制的非 SDK 介面使用情形,並改用公開 SDK 或 NDK 的對應項目。請留意說明這類存取權的 Logcat 警告,並使用 StrictMode 方法 detectNonSdkApiUsage(),以程式輔助方式進行擷取。

最後,請務必完整測試應用程式的程式庫和 SDK,確保這類元件可以 Android 11 上正常運作,並遵循隱私權、效能、使用者體驗、資料處理與權限的最佳做法。如有任何問題,請試著更新至最新版本的 SDK,或聯絡 SDK 開發人員獲得協助。

完成測試和更新作業後,建議您立即發布相容的應用程式,讓使用者及早測試應用程式。這個做法有助於確保使用者更新到 Android 11 時順利適應。

更新應用程式的指定目標,且建構時使用新 API

如先前所述,發布相容的應用程式版本後,下一步就是更新 targetSdkVersion,並善用 Android 11 中的新 API 和功能,提供 Android 11 的全方位支援。您準備就緒後即可進行更新,但請留意鎖定新平台目標版本的 Google Play 規定

在您計畫全面支援 Android 11 的過程中,建議先查看適用於指定 Android 11 為目標版本應用程式的行為變更。這些與指定目標版本有關的行為變更,可能會導致需要您善加處理的功能問題。在某些情況下,這些變更涉及大量開發作業,因此建議您盡早瞭解。為協助您評估影響,您也可以使用相容性切換按鈕,針對特定變更項目來測試目前的應用程式。

全面支援 Android 11 的操作步驟如下。

取得 SDK、變更指定目標、使用新的 API 進行建構

如要開始測試完整的 Android 11 支援功能,請先在 Android Studio 中下載 Android 11 SDK 和其他所需工具。接著,請將應用程式的 targetSdkVersioncompileSdkVersion 變更為 "30",然後重新編譯應用程式。詳情請參閱設定指南

測試 Android 11 應用程式

編譯應用程式並安裝在執行 Android 11 的裝置上之後,請開始測試,確保應用程式可以在指定 Android 11 為目標版本的環境能正常運作。某些行為變更僅適用於應用程式指定新平台版本時,因此請在測試前確認此類變更

和基本的相容性測試一樣,逐步完成所有流程與功能測試,確認是否發生問題。將測試的重點放在應用程式指定 Android 11 為目標版本時會涉及的行為變更。請務必查看隱私權異動,並測試為因應異動而實作的修正。建議您也趁這個機會,檢查應用程式是否遵循核心應用程式品質指南測試最佳做法

請務必檢查受限制非 SDK 介面的使用情形,並視需要進行測試。請留意說明這類存取權的 Logcat 警告,並使用 StrictMode 方法 detectNonSdkApiUsage(),以程式輔助方式進行擷取。

最後,請務必完整測試應用程式的程式庫和 SDK,確保這類元件可以 Android 11 上正常運作,並遵循隱私權、效能、使用者體驗、資料處理與權限的最佳做法。如有任何問題,請試著更新至最新版本的 SDK,或聯絡 SDK 開發人員獲得協助。

使用「應用程式相容性」切換按鈕進行測試

Android 11 為開發人員推出新功能,方便您對指定行為變更的應用程式進行測試。如果應用程式可進行偵錯,切換按鈕可幫助您:

  • 不必實際變更應用程式的 targetSdkVersion,即可測試指定的變更。切換按鈕可以強制啟用特定的行為變更,方便評估該變更對現有應用程式的影響。
  • 僅對特定變更進行測試。有了切換按鈕,您可以只開啟需要測試的變更項目,不需要一次處理所有變更。
  • 透過 ADB 管理切換按鈕。如果變更項目支援切換功能,您可以在自動化測試環境中,透過 ADB 指令啟用/停用這些變更。
  • 使用標準變更 ID 來加速偵錯。如果變更項目可切換啟用/停用狀態,也會附上專屬 ID 和名稱,方便您在輸出的記錄檔中快速找出錯誤的根本原因。

當您準備變更應用程式的指定目標,或在進行支援 Android 11 的開發作業時,切換按鈕可提供實用協助。詳情請參閱對應的說明文件