Android 17 的功能和變動清單

下表列出了所有目前已知可能會對應用程式開發人員造成影響的功能與行為變更。請使用這份清單找出會對您造成影響的變更,然後按一下對應的連結閱讀說明文件。

類別 類型 名稱
使用者體驗和系統 UI 變更 (所有應用程式) 裝置旋轉後自動恢復預設的 IME 版面空間
裝置旋轉或設定變更時,系統會使用預設的顯示模式,判斷是否要顯示 IME。
使用者體驗和系統 UI 變更 (目標版本 17 以上的應用程式) WebView 的使用者代理程式縮減
從 Android 17 開始,WebView 的預設使用者代理程式字串會縮短。
使用者體驗和系統 UI 變更 (目標版本 17 以上的應用程式) 記憶體限制小工具
如果應用程式指定 Android 17 以上版本,系統會嚴格限制 RemoteViews Parcel 中點陣圖和圖示的記憶體用量。
使用者體驗和系統 UI 新功能與 API 專屬小幫手音量串流
Android 17 為小幫手應用程式推出專屬小幫手音量串流,可獨立控制媒體音量。如果小幫手應用程式可存取新的 MODE_ASSISTANT_CONVERSATION,就能進一步改善音量控制功能,例如在播放期間以外或透過藍牙周邊裝置控制音量。
使用者體驗和系統 UI 新功能與 API MetricStyle 範本
Android 17 推出 MetricStyle 範本,支援健康與健身、計時器、碼錶和旅遊用途。
使用者體驗和系統 UI 新功能與 API 最新即時資訊 - 語意顏色 API
最新即時資訊推出語意顏色 API,支援與安全、危險和注意高度相關的顏色。
使用者體驗和系統 UI 新功能與 API Handoff
Handoff 讓使用者能在一部裝置上展開一項工作,然後在另一部裝置上接續完成。
安全性 變更 (所有應用程式) 封鎖跨設定檔回送流量
根據預設,系統不再允許跨設定檔回送流量。
安全性 變更 (所有應用程式) 每個應用程式的 KeyStore 限制
應用程式可建立的 KeyStore 金鑰數量有限,具體取決於目標 API 級別;建立更多金鑰會導致例外狀況。
安全性 變更 (所有應用程式) 限制隱含 URI 授權
如果 Android 應用程式使用 URI 啟動意圖,建議明確預先分配所有必要的 URI 權限,而不是依賴系統自動授予權限。
安全性 變更 (目標版本 17 以上的應用程式) 預設啟用 CT
在 Android 16 中,我們允許應用程式選擇加入憑證透明化功能。在 Android 17 中,我們計畫為裝置執行的所有 TLS 連線啟用憑證透明化。
安全性 變更 (目標版本 17 以上的應用程式) 更安全的原生 DCL - C
應用程式必須確保 DCL 模組不會在未偵測到的情況下遭到覆寫。
安全性 變更 (目標版本 17 以上的應用程式) 限制 CP2 資料檢視中的 PII 欄位
如果應用程式指定 Android 17 以上版本,就無法存取 CP2 資料檢視中的特定 PII 欄位。
安全性 變更 (目標版本 17 以上的應用程式) 在 CP2 中強制執行嚴格的 SQL 檢查
如果應用程式指定 Android 17 以上版本,當應用程式在沒有 READ_CONTACTS 權限的情況下存取 ContactsContract.Data 資料表時,Contacts Provider 2 會強制執行嚴格的 SQL 查詢驗證。
安全性 新功能與 API Android 進階保護模式 (AAPM)
為 Android 使用者提供一組強大的全新安全防護功能。
安全性 新功能與 API PQC APK 簽署
新增支援,可使用新的後量子密碼編譯 (PQC) 簽署金鑰簽署 APK。
核心功能 變更 (所有應用程式) 應用程式記憶體限制
Android 17 根據裝置的 RAM 總量,導入新的應用程式記憶體限制。
核心功能 變更 (所有應用程式) 應用程式記憶體執行階段限制
系統會更嚴格地強制執行應用程式記憶體限制。如果超過限制,應用程式可能會當機。
核心功能 變更 (所有應用程式) usesClearTraffic 淘汰計畫
我們預計在日後的版本中淘汰 usesClearTraffic。需要建立 HTTP 連線的應用程式,應改用網路安全性設定檔。
核心功能 變更 (所有應用程式) 最佳化自我廣播傳送
應用程式在自身程序中傳送給接收器的廣播,不會再提高程序的優先順序,也不會防止快取程序遭到凍結。
核心功能 變更 (目標版本 17 以上的應用程式) 新 NPU 功能旗標
指定 Android 17 的應用程式如需存取 NPU,必須宣告 android.hardware.npu 功能。
核心功能 變更 (目標版本 17 以上的應用程式) 通知自訂檢視畫面的記憶體限制
Android 17 (API 級別 37) 針對使用自訂檢視畫面的通知,導入更嚴格的記憶體用量檢查機制
核心功能 變更 (目標版本 17 以上的應用程式) 靜態最終欄位現在無法修改
如果應用程式指定 Android 17 以上版本,則無法修改靜態最終欄位。否則會發生例外狀況。
核心功能 變更 (目標版本 17 以上的應用程式) MessageQueue 的全新無鎖定實作
指定 Android 17 以上版本的應用程式,將採用 MessageQueue 的全新無鎖定實作。
核心功能 新功能與 API 新的 ProfilingManager 觸發條件
Android 17 為 ProfilingManager 新增多個系統觸發條件,協助您收集深入資料,以便偵錯效能問題。
核心功能 新功能與 API JobDebugInfo API
新推出的 JobDebugInfo API 可協助開發人員對 JobScheduler 工作進行偵錯。
隱私權 變更 (所有應用程式) 受限制的訊息存取權
現在大多數應用程式都無法存取端對端加密訊息。
隱私權 變更 (目標版本 17 以上的應用程式) 標準簡訊的動態密碼保護
即使使用者已授予簡訊權限,非優先應用程式也無法立即存取動態密碼。
隱私權 變更 (目標版本 17 以上的應用程式) 指定 Android 17 的應用程式需要區域網路權限
指定 Android 17 的應用程式必須具備鄰近裝置群組中的適當權限,才能存取本機裝置。這項規定在 Android 16 中為選用。
隱私權 變更 (目標版本 17 以上的應用程式) 啟用 ECH (Encrypted Client Hello)
如果應用程式指定 Android 17 以上版本,系統會為 TLS 連線啟用 ECH。
隱私權 變更 (目標版本 17 以上的應用程式) 隱藏實體裝置輸入的密碼
裝置不再顯示實體裝置輸入的最後一個密碼。
隱私權 新功能與 API Android 聯絡人選擇工具
Android 17 推出新的聯絡人選擇工具,可讓應用程式存取使用者的聯絡人,而不必取得權限。
手動輸入 變更 (所有應用程式) 在指標擷取期間,觸控板預設會傳送相對事件
從 Android 17 開始,觸控板會傳送相對指標事件 (例如滑鼠事件),而非絕對事件。
媒體 變更 (所有應用程式) 背景音訊強化
應用程式必須顯示在畫面上或具備前景服務,才能播放音訊或使用其他干擾性音訊 API。
媒體 新功能與 API 新增 BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION 權限,可擷取機密音訊
推出新的 BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION 權限,可在通話和其他機密音訊用途中同時擷取音訊。
連線能力 變更 (所有應用程式) 藍牙連線中斷時自動重新配對
連線中斷後,系統會在背景自動嘗試重新建立藍牙連線,使用者不必在「設定」中手動解除配對及重新配對裝置
連線能力 變更 (目標版本 17 以上的應用程式) RFCOMM 的 BluetoothSocket read() 行為一致
如果應用程式指定 Android 17 以上版本,BluetoothSocket RFCOMM 實作會與標準 Java InputStream 行為一致。
連線能力 新功能與 API 受限的衛星網路
著重於讓 Android 應用程式在低頻寬衛星網路上有效運作。
無障礙設定 變更 (目標版本 17 以上的應用程式) 支援複雜輸入法實體鍵盤輸入的無障礙功能
這項功能可讓輸入法透過編輯器向無障礙服務傳達更多文字變更資訊,協助螢幕閱讀器為複雜的輸入法提供更一致、自然且可靠的回饋。
裝置板型規格 變更 (目標版本 17 以上的應用程式) 平台 API 異動:忽略大螢幕 (sw>=600dp) 的螢幕方向、大小調整和顯示比例限制
Android 16 導入平台 API 異動,忽略大螢幕 (sw >= 600dp) 的螢幕方向、大小調整和顯示比例限制。如果應用程式的目標版本是 Android 17,則無法再避開這些變更。
情報 變更 (目標版本 17 以上的應用程式) setContentCaptureEnabled 淘汰
自 Android 17 起,如果應用程式指定 Android 17 以上版本,呼叫 setContentCaptureEnabled(false) 不會再停用內容擷取功能。
圖形 新功能與 API Android 上的 WebGPU
WebGPU 提供慣用的 Kotlin 和 Java 圖形與運算 API,可存取 Vulkan,這是 Android 轉換至 Vulkan 做為主要低階 GPU API 的一部分。