將應用程式遷移至 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 11 SDK (以及任何其他所需工具) 下載至 Android Studio。接著,將應用程式的 targetSdkVersion 和 compileSdkVersion 變更為 "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 的支援內容時,切換按鈕相當實用。詳情請參閱相關說明文件。