將應用程式遷移至 Android 11

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

由於在原始碼發布到 Android 開放原始碼計畫 (Android 開放原始碼計畫) 後,使用者就可以開始接收新平台,因此應用程式必須準備就緒,以便為使用者提供預期的效能,並盡可能善用新功能和 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。接著,請將應用程式的 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 的開發作業時,切換按鈕可提供實用協助。詳情請參閱對應的說明文件