做者 / Android 產品經理 Diana Wonghtml
在往期 #11WeeksOfAndroid 系列文章中咱們介紹了 聯繫人和身份 、 隱私和安全 ,本期將聚焦 Android 11 兼容性 。咱們將爲你們陸續帶來 #11WeeksOfAndroid 內容,深刻探討 Android 的各個關鍵技術點,您不會錯過任何重要內容。android
本期咱們將重點探討 Android 11 兼容性這一對全部開發者都很是重要的主題。對於 Android, 應用兼容性 一詞指應用能夠在特定版本的 Android (一般是最新版本) 上正常運行。segmentfault
您能夠前往官方網站詳細獲取可幫助您進行兼容性測試的資源,以及本期全部關於該領域的實用內容和資源!安全
在每次版本更新中,咱們都但願儘可能減小應用適配 Android 所需的工做。在 Android 11 中,咱們添加了新的流程、開發者工具和版本發佈里程碑,以幫助咱們最大程度地減小平臺更新帶來的影響,更輕鬆實現應用的兼容性。框架
請繼續閱讀,詳細瞭解咱們如何簡化 Android 11 中的應用測試和調試流程。ide
測試應用是否兼容 Android 新版本可能面臨不少挑戰,尤爲是應用在受到多個平臺變動影響的狀況下。此過程當中可能會出現不少問題:工具
開發者社區爲咱們提供了大量相關問題的優質反饋。在 Android 11 中,咱們爲平臺添加了如下新工具,並在 Android Studio 中添加了新功能,所以您能夠更加輕鬆的進行測試。性能
和往年的更新同樣,Android 11 的一些平臺變動可能會影響您的應用。儘管這些變動對於提高平臺性能相當重要,但咱們會盡量將這些變動安排在平臺的最新 targetSDKVersion 以後,以便減小對您的應用的直接改動。在 Android 11 中,咱們還會將更多此類平臺變動添加到新的 兼容性框架中。測試
您可使用全新開發者工具,針對包含在兼容性框架內的變動對應用進行測試和調試。網站
例如,咱們已將包含在兼容性框架內的變動設爲可切換,您能夠經過設備的開發者選項或使用 Android ADB 強制啓用或停用單個變動。Android 平臺會自動調整內部 API 邏輯,所以您無需更改 targetSDKVersion 或從新編譯應用,便可執行基本測試。此外,您能夠隔離各項變動,從而節省發現和調試應用中問題所需的時間。
在切換變動的啓用/停用狀態以前,您應該通讀 行爲變動列表,肯定哪些變動可能會影響您的應用。包含在兼容性框架內的變動已在變動描述前列出相應的 Change ID 和 Change Name。
通常來講,咱們建議您從 影響全部應用的行爲變動 開始測試,由於不管 targetSDKVersion 如何,這些變動均可能對您的應用形成影響。咱們用下面這個 targetSDKVersion 控制的變動爲例,說明您能夠如何在不使用其餘 targetSDK 重編譯應用的狀況下,對這些變動進行測試。
在 後臺位置訪問變動 中,請求始終在後臺訪問位置的應用會受影響。若是您的應用受到這一變動的影響,那麼從該變動開始測試是不錯的選擇。此變動的名稱爲 BACKGROUND_RATIONALE_CHANGE_ID,變動 ID 爲 147316723。您須要先使用這些信息啓用此變動,而後再測試應用所以受到的影響。
肯定要測試的變動後,您可使用開發者選項切換此變動的啓用/停用狀態。如要使用開發者選項,請打開設備上的 "設置" 應用,導航至 系統 > 高級 > 開發者選項 > 應用兼容性變動 。
開發者選項中可切換的平臺變動,後臺位置訪問變動已啓用
在本例中,BACKGROUND_RATIONALE_CHANGE_ID 是惟一已啓用的變動,旨在最大程度縮小應用可能遇到的各類問題的緣由範圍。
您也可使用 Logcat 或 ADB 識別已啓用的變動,或 使用 ADB 切換變動的啓用/停用狀態。請注意,您只能在使用可調試應用時切換變動。
啓用變動後,您可使用經常使用的測試工做流來測試和調試應用。如遇到問題,請查看日誌,肯定問題的緣由。若是不肯定問題是否由已啓用的平臺變動引發,您能夠嘗試停用此變動,而後從新測試應用的同一模塊。
如需瞭解其餘相關示例,您能夠觀看有關 測試 Android 11 中平臺變動的視頻,或閱讀 官方文檔。
除了在新平臺上手動進行測試外,咱們還簡化了使用 Android Studio 在最新 Android 系統上運行自動化測試的流程。
從 Android Studio 4.2 開始,咱們實現了在多個實體或虛擬設備上並行運行插樁測試 (instrumentation tests)。如今,您能夠在運行測試的過程當中,從目標設備下拉菜單中選擇 多個設備 。
此功能旨在幫助您在開發週期中儘早發現問題,並讓您可以比較不一樣 Android 設備之間的差別。您可使用 視圖 > 工具窗口 > 運行 下的新 測試矩陣 ,研究這些測試的結果。
新測試矩陣可按狀態、設備和 API 級別過濾測試結果。
請觀看有關 使用 Android Studio 測試應用兼容性的視頻,或閱讀 官方文檔。
咱們建議您嘗試這些新工具,並 向咱們發送反饋,告訴咱們這些工具對您是否有用。咱們但願這些工具能幫助您更輕鬆地測試 Android 11 應用兼容狀況。