Android 11 發行說明

本頁面總結了 Android 11 版本中的主要功能,並提供了其他資訊的連結。這些功能摘要是根據該功能在該網站上的文件位置進行組織的。

建築學

API配額

Android 11 版本引入了 API 配額功能,該功能限制應用程式呼叫某些 API 的頻率。它僅在JobScheduler API 呼叫中實作。您對預設限制所做的任何變更仍必須通過 CTS 測試。您可以使用QuotaTracker.java中的setEnabled方法來停用和啟用 API 配額。預設已啟用。停用該功能可以讓應用程式不受限制地呼叫受影響的 API。

提供了QuotaTracker和相關類別的單元測試。詳細文件位於QuotaTracker類別的註解中。此功能引入了新的LimitExceededException公共 API。

引導程式

啟動標頭版本 3

Android 11 支援啟動頭版本 3。有關詳細信息,請參閱啟動映像頭

分割區

啟動分區

Android 11 引進了通用核心映像的概念。為了使用通用核心映像啟動任意設備,所有特定於供應商的資訊都會從啟動分割區中提取出來,並重新定位到供應商啟動分割區中。使用 Android 11 啟動的裝置必須支援供應商引導分割區和更新的引導分割區格式才能通過 GKI 測試。

供應商引導標頭

供應商引導標頭可以超過一頁。

產品分區介面實施

Android 11解綁了product分區,使其獨立於system和供應商分區。作為這些變更的一部分,您現在可以控制產品分割區對本機和 Java 介面的存取。

恢復影像

Android 11 更新了復原映像要求,並包含新的基於版本的選項,用於將復原 DTBO/ACPIO 作為啟動/復原映像的一部分。有關詳細信息,請參閱恢復映像

軟重啟

Android 11 支援軟重啟,這是用戶空間中進程的運行時重啟,用於應用需要重新啟動的更新(例如,APEX 軟體包的更新)。

核心

Android 通用核心

Android 11 對Android 通用核心的開發和整合方式進行了重大更改。

Android 核心 ABI 監控

Android 11 引進了ABI 監控工具來穩定 Android 核心的核心內 ABI。

通用核心映像

Android 11 引入了通用核心映像 (GKI) ,它透過統一核心核心並將 SoC 和主機板支援從核心核心移至可載入模組來解決核心碎片問題。

模組化內核

內核模組支援

通用核心映像 (GKI) 可能不包含使裝置能夠掛載分割區所需的驅動程式支援。為了讓裝置能夠掛載分割區並繼續引導,第一階段init得到增強,可以載入 ramdisk 上存在的核心模組。 ramdisk 分為通用 ramdisk 和供應商 ramdisk。供應商核心模組儲存在供應商 ramdisk 中。載入核心模組的順序是可配置的。

偵錯檔案系統

Android 11刪除了對 DebugFS 的平台支持,並要求不得在生產設備上安裝或存取它。雖然 DebugFS 是為了調試目的而創建的,但它已包含在通用和特定於供應商元件的使用者和 usedebug 建置中。 DebugFS 已被棄用,因為它會被建立:

  • 不穩定且未記錄的 API。 Android 依賴定義良好且穩定的 Linux 核心介面和 HAL 才能正常運作。 VTS 測試強制這些介面的存在和正確性。無法強制執行 DebugFS,因為它的 ABI 既不穩定也沒有記錄。

  • 代碼品質差。由於它們用於調試,因此添加到debugfs節點不會像其他檔案系統中的節點那樣經過嚴格的審查和測試。當在debugfs中發現錯誤時,它們的優先順序較低,這會導致源自debugfs的安全漏洞。

  • 安全漏洞。創建 DebugFS 的目的是幫助核心開發人員調試系統,而不是專注於安全性。沒有有效的方法來驗證生產設備上公開的所有 DebugFS 節點是否安全。儘管 SEpolicy 的收緊降低了源自debugfs的安全漏洞的嚴重性,但禁止掛載debugfs是徹底消除攻擊面的唯一方法。

在 Android 11 中,VTS 強制在裝置的核心配置中未啟用CONFIG_DEBUG_FS ,且debugfs未在/proc/filesystems下列出。

GKI 的 ION 堆

在 Android 11 中,Android Common Kernel v5.4 引入了一個框架,用於模組化特定於供應商的 ION 堆,同時保持內建核心ION 驅動程序,使OEM 能夠在使用通用核心映像(GKI) 時保留ION內核驅動程式修改。

模組化系統組件

自動撤銷權限

在Android 11中, PermissionsController模組可以自動撤銷長時間未使用的應用程式的執行時間權限。

主線模組更新

Android 11 引進了多個新模組,並更新了 Android 10 中引入的多個現有模組

運行時資源覆蓋

Android 11 或更高版本支援RRO 的新機制。增強功能包括保留資源 ID 空間、用於枚舉目標資源的res/xml/overlays.xml檔案、用於覆寫的 Soong 建置規則、用於設定覆蓋的可變性、預設狀態和優先權的OverlayConfig檔。

供應商NDK

供應商快照

Android 11 支援VNDK 快照建立工件供應商快照,無論來源樹上的 Android 版本為何,您都可以使用它們來建立vendor.img 。這支援混合版本的映像,例如較舊的供應商和較新的系統映像。

聲音的

從 FM 調諧器擷取音訊需要特權

在 Android 11 中,音訊來源MediaRecorder.AudioSource.RADIO_TUNER作為 @SystemApi 可見,並且在使用AudioRecordMediaRecorder捕獲音訊時使用它需要特權權限android.permission.CAPTURE_AUDIO_OUTPUT

音訊效果

從 Android 11 開始,當選擇給定音訊裝置進行音訊擷取或播放時,裝置製造商能夠自動附加並啟用特定的音訊效果

設備類型限制

在 Android 11 中,我們取消了音訊裝置類型數量的限制,以允許新增新的音訊裝置類型。

執行

音訊實現

與較低版本相比,Android 11在運行時更嚴格地執行聲音觸發 HAL 實作

汽車

發布詳情

若要了解新的汽車功能和增強功能,請參閱汽車版本詳細資訊

USB連接埠重置API

裝置製造商可以在 Android 11 中實作 USB 連接埠重置 API ,以重置 USB 小工具與所連接主機的連接。

相機

相機散景

從 Android 11 開始,Android 平台支援相機散景實現,並提供 API 以使散景功能可供第三方應用使用。

相機變焦

在 Android 11 中,應用程式可以透過ANDROID_CONTROL_ZOOM_RATIO設定使用相機的變焦(數位和光學)。此設定是一個浮點因子,與使用ANDROID_SCALER_CROP_REGION設定的整數值相比,它可以實現更好的縮放精度,並且允許縮小(< 1.0f)。

並發相機串流

從 Android 11 開始,Camera2 API 包含應用程式可以呼叫的方法來確定相機是否支援並發串流以及支援哪些串流配置。

改進了對 Android 虛擬設備的相機支持

Android 11 在CuttlefishAndroid Emulator虛擬設備上引入了改進的模擬相機 HAL 實現,增加了對更多相機功能的支持,包括:

  • 原始捕捉
  • YUV再處理
  • 3 級設備
  • 邏輯相機支持
  • 僅深度相機支持

此模擬相機 HAL 可在/platform/hardware/google/camera/devices/EmulatedCamera/hwl中找到。

多攝像頭最佳實踐

要充分利用多攝影機啟用的功能,同時保持應用程式相容性,請在實現邏輯多攝影機裝置時遵循以下最佳實踐。這包括使用 Android 11 中引入的ANDROID_CONTROL_ZOOM_RATIO API 的最佳實踐。

系統相機

Android 11 透過android.permission.SYSTEM_CAMERA權限引入了對系統攝影機的支援。系統相機可讓您實現可在特權或系統應用程式上使用但不適用於第三方公共應用程式的相機功能。

相容性

Android 11 相容性定義文件迭代了先前的版本,更新了新功能並更改了先前發布的功能的要求。

連接性

藍牙和 NFC

NFC脫離主機支付同步

Android 支援具有用於脫離主機卡模擬的安全元件的 NFC 卡模擬,但「觸碰付款」設定中指定的首選支付服務可能與安全元件中的應用程式不同步。

Android 11 透過脫離主機支付同步解決了這個問題,該機制可讓您同步 Tap & pay 中的支付配置、非接觸式前端 (CLF) 上的路由配置以及安全元件中的應用選擇狀態。

快速存取錢包

快速存取錢包功能可讓用戶直接從電源選單存取支付卡和相關通行證。

打電話和發短信

緊急呼叫行為

Android 11 對緊急呼叫的處理方式進行了更改,以便更好地支援營運商的要求。處理緊急呼叫的行為描述如下:

  • 當使用者在通話過程中撥打緊急通話時,根據KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL鍵的設置,裝置會自動中斷目前通話或保持目前通話,並且不允許切換回目前通話,直到緊急通話中斷為止。
  • 在緊急呼叫期間,來電將自動拒接並向使用者顯示為未接來電。在進行緊急呼叫期間,無法撥出非緊急呼叫。
  • 在緊急回撥模式下,撥打非緊急呼叫會導致設備退出緊急回撥模式。如果撥打緊急呼叫,設備會在呼叫結束後重新進入緊急回撥模式。來電不會導致設備退出緊急回撥模式。
  • 無法交換或保留正在進行的緊急呼叫。

可更新的緊急號碼資料庫

Android 11 引進了可以透過 OTA 更新的緊急號碼資料庫。此資料庫包含具有相應國家/地區和服務類別的緊急電話號碼清單。

載體

嵌入式SIM卡

透過運營商應用程式啟動 eSIM 流程

Android 11 改進了透過電信商應用程式啟動 eSIM 設定檔的流程。當使用啟動碼下載設定檔時,LPA 可以啟動運營商應用程式的使用者介面以檢索使用者的其他資訊。運營商應用程式還可以啟動 LUI 來啟動 eSIM 設定檔。

有關更多信息,請參閱:

eUICC API 錯誤處理

Android 11 引入了額外的按鍵和值,讓 eUICC API 的呼叫者可以單獨處理特定錯誤,從而改善錯誤處理

擦除訂閱方法的選項參數

從 Android 11 開始,當在EuiccManager中使用eraseSubscriptions方法時,您應該提供一個EuiccCardManager#ResetOption枚舉值來指定是否刪除所有測試、操作或兩種類型的訂閱。

多運營商網路支持

搭載 Android 11 的裝置可以為多個公共陸地行動網路 (PLMN) 提供支援。多 PLMN 支援允許行動網路營運商 (MNO) 廣播多個身份,從而為他們提供了靈活性。

小蜂窩支持

使用 Android 11 啟動的裝置可以透過小區識別 API 中取得有關小區 CSG 資訊的方法來提供封閉使用者群組 (CSG) 的支援。這對於透過封閉用戶群組管理小型蜂窩的行動網路營運商 (MNO) 非常有用。

連接診斷 API

連接診斷 API允許擁有或管理網路的應用程式(例如運營商應用程式、VPN 應用程式和 Wi-Fi 建議應用程式)從框架接收診斷網路連接資訊。

開放移動 API 更改

Android 11 引進了開放行動 API (OMAPI) 的附加功能:

  • 運營商權限的解析規則。
  • 使用下列一項或多項自訂嵌入式安全元件 (eSE) 存取或設定 eSE:

  • 為讀者提供應用程式篩選設備功能的清晰指標。

訊號強度報告

在 Android 11 中,您可以為框架選擇和自訂多種訊號測量類型,以用於報告 4G LTE 和 5G NR 無線存取網路 (RAN) 的訊號強度。然後,您可以使用報告的訊號強度來控制訊號欄在裝置上的顯示方式。

無線上網

營運商 Wi-Fi 網路配置

在 Android 11 中,您可以使用 Wi-Fi 建議 API新增電信商 Wi-Fi 網路配置,而不是在電信商組態管理員中設定carrier_wifi_string_array參數。

Wi-Fi 熱點(軟體 AP)支援網路共享

Android 11 引入了改進的 Wi-Fi 熱點(軟體 AP)配置,為營運商用例和自訂提供更多支援。這些變更允許設備製造商配置以下內容:

  • SSID 和 BSSID
  • 安全性類型(包括WPA3)
  • 隱藏SSID
  • 工作頻段和頻道(包括ACS)
  • 允許的最大客戶端數量
  • 自動關閉超時值
  • 允許列表和封鎖列表,允許使用者控制關聯設備

Wi-Fi 網路選擇增強功能

Android 11 引進了Wi-Fi 網路選擇增強功能,以改善 Wi-Fi 網路連線。

Wi-Fi Passpoint 增強功能

Android 11 為Passpoint功能引入了以下增強功能:

  • 設定檔過期支援允許系統通知使用者並強制執行設定檔過期日期。這需要一個已初始化SubscriptionParameters/ExpirationDate欄位的設定檔。
  • 支援 Passpoint R1 設定檔的私有自簽 CA 憑證。
  • 支援沒有 CA 憑證的 Passpoint R1 設定檔。系統使用預設信任儲存來驗證連線。
  • 支援與 ANQP FQDN 分開配置命名 AAA 域(使用 PPS-MO 中的Extension/Android節點)。這可讓您指定與已發佈的網域不同的 AAA 網域,而不會影響連線安全性。
  • 支援具有相同 FQDN 的多個已安裝 Passpoint 配置。這對於在其網路上部署多個行動國家代碼 (MCC) 和行動網路代碼 (MNC) 組合但只有一個 FQDN 的營運商非常有用。
  • 能夠偵測並接受 Passpoint R3 接入點。
  • 改進的網路匹配:
    • 支援HomeSP/HomeOIList的家庭提供者匹配。
    • 支援HomeSP/OtherHomePartners的家庭提供者配對。
    • 刪除了 Passpoint 規範中不需要的 EAP 方法匹配要求。

Wi-Fi 設定檔改進了通用名稱支持

在 Android 11 中,如果在選用Android擴充子樹中指定了公用名稱,則當電信商的根憑證授權單位 (CA) 發生變更時,Wi-Fi 設定檔仍然有效。在先前的版本中,如果根 CA 發生更改,使用者必須從運營商下載新的設定檔。

數據

資料存取審核

Android 11 引入了資料存取審核,使應用程式開發者能夠更好地識別其應用程式和依賴項如何存取使用者的私人資料(例如位置和相機資料)。對於複雜的多用途應用程序,開發人員可以定義歸因標籤來識別應用程式的不同部分。

有關詳細信息,請參閱資料存取審核

展示

氣泡通知 API 更新

Android 10 引入了Bubbles 通知 API ,讓使用者可以在裝置上的任何位置執行多項任務。 Android 11 包含多項 Bubbles 增強功能。最顯著的變化是預設開啟 Bubbles 並將設定從開發人員選項中移出。在 Android 平台中實作 Bubbles 不需要任何工作。

設備控制

從 Android 11 開始提供的設備控制功能可讓使用者從電源選單快速查看和控制外部設備,例如燈、恆溫器和攝影機。設備聚合器(例如 Google Home)和第三方供應商應用程式可以提供在此空間中顯示的設備。無需平台實施工作即可支援此功能。預設實作包含在 AOSP 系統 UI 中。有關向控制應用程式新增對裝置控制項的支援的信息,請參閱控制外部裝置Android 開發人員頁面。

文字分類器更新

Android 11 引入了 ExtServices Mainline 模組中文字分類器服務的可更新預設實作。建議設備製造商使用TextClassifierService的此實現,因為它可以透過 Mainline OTA 更新進行更新。

企業

實施自訂使用者類型

Android 11 引入了明確定義的使用者類型的概念,代表 Android 多用戶功能允許的所有不同類型的使用者。借助此功能,OEM 可以自訂預先定義的 AOSP 使用者類型並定義新的設定檔類型。有關詳細信息,請參閱有關使用者類型的部分。

工作資料改進

Android 11 包含工作資料的隱私和可用性增強功能,旨在解決關鍵的可用性挑戰。至關重要的是,這些改進必須在整個生態系統中一致實施。

支援 Android 的 IT 管理員必須支援使用者在工作中使用的任何 Android 裝置上的體驗。提高關鍵工作流程的使用者體驗一致性可顯著降低在 BYOD 環境中支援 Android 的成本。跨裝置一致地實施隱私功能也可以增強使用者的信心。一些更新包括:

  • 應用程式清單有單獨的標籤,標記為“個人”和“工作”。
  • 工作選項卡有一個用於關閉工作設定檔的開關。
  • 關閉工作設定檔後,工作應用程式圖示將變為灰色,並且工作標籤上的疊加顯示工作應用程式已暫停。

交互作用

Context Hub 執行階段環境更新

Android 11 引入了CHRE API v1.4 ,其中包括對 5G 小區資訊、nanoapp 調試轉儲和其他改進的支援。它還支援在 nanoapps 中使用TensorFlow Lite for Microcontrollers 。有關詳細信息,請參閱Context Hub 運行時環境 (CHRE)

觸覺

Android 11 包含在裝置上實現觸覺和評估觸覺效能的新指南。

輸入

遊戲手把

Android 11 增加了對第三方遊戲控制器的支持,包括:

  • Nintendo Switch Pro 控制器: Android 增加了對 Nintendo Switch Pro 控制器的 USB 和藍牙連接的支援。所有實作都需要CTS 測試,請使用NintendoSwitchProTest來驗證您的實作。

  • Steam 控制器: Android 為 Steam 控制器添加了 USB 連接。

神經網路

最佳實踐

為了鼓勵應用程式開發者採用 NNAPI,請在執行 Android 11 的裝置上實作 NNAPI 驅動程式時遵循以下最佳實務

控制流

在 Android 11 中,NNAPI新增了兩個控制流程操作IFWHILE ,它們將其他模型作為參數並有條件 ( IF ) 或重複 ( WHILE ) 執行它們。這允許建立基於輸入值執行不同操作或多次執行操作而無需展開的模型。

圍欄處決

在 Android 11 中,NNAPI允許執行等待sync_fence句柄列表,並可選擇傳回一個sync_fence對象,該物件會在執行完成時發出訊號。這減少了小序列模型和串流用例的開銷。受保護的執行也允許與可以發出訊號或等待sync_fence其他元件進行更有效的互通性。

記憶體域

對於運行 Android 11 或更高版本的設備,NNAPI 支援為驅動程式管理的緩衝區提供分配器介面的記憶體域。這允許跨執行傳遞設備本機內存,從而抑制同一驅動程式上連續執行之間不必要的資料複製和轉換。

服務品質

從 Android 11 開始,NNAPI 透過讓應用程式指示其模型的相對優先順序、模型準備的最大預期時間以及執行的預期最大時間來提供改進的服務品質 (QoS)要完成的。

有符號 8 位元量化

Android 11 中引入的神經網路 HAL (NN HAL) 1.3 支援神經網路 API 的有符號 8 位元量化。有關更多信息,請參閱Android 11 中的 NN HAL 更新

測試改進

Android 11 包含一個測試實用程序,用於對 NNAPI 驅動程式實作執行模糊測試,以及一系列崩潰測試,以驗證驅動程式在頻繁使用情況下的復原力。

有關更多信息,請參閱:

感應器

鉸鏈角度感測器類型

Android 11 引入了鉸鏈角度感測器類型來表示測量設備兩個組成部分之間角度的感測器。

感測器 Multi-HAL 2.1

Android 11 上提供的Sensors Multi-HAL 2.1是 Sensors Multi-HAL 2.0 的迭代,它支援加載可公開鉸鏈角度感測器類型的子 HAL。為了支援此感測器類型,子 HAL 必須使用2.1 SubHal 標頭中定義的子 HAL API。

媒體

數位版權管理

Android 11 透過刪除 MediaDrmService簡化了 MediaDrm/Crypto IPC 路徑。新增了新的MediaDrm API 以列舉可用的 DRM 插件。

MediaCodec 中的低延遲解碼

Android 11 包含MediaCodec 2.0,可實現低延遲媒體解碼,這對於即時應用程式至關重要。

各種各樣的

從 Android 11 開始,AOSP Gallery 應用程式不需要支援ACTION_VIEW意圖的application/sdp MIME 類型。 application/sdp MIME 類型的ACTION_VIEW意圖過濾器已從AOSP Gallery 應用程式清單檔案中刪除。

這些要求記錄在第 3.2.3.1 節。 CDD 的核心應用意圖

表現

用戶空間 lmkd

Android 11 引入了新的查殺策略,以防止記憶體不足和效能下降。

力量

電視待機時不專心睡覺

在Android 11中,為電視待機增加了一個名為「注意力不集中睡眠」的新功能。這是一項節能功能,允許設定使用者不活動逾時,之後裝置將進入睡眠狀態,即使保持喚醒鎖定也是如此。

安全的

OEM加密

Android 11 支援 OEMCrypto API 版本 16。

貯存

範圍存儲

Android 11 支援範圍存儲,這限制了應用程式對外部存儲的存取。另外,MediaProvider成為外部儲存的檔案系統處理程序(對於FUSE),使外部儲存上的檔案系統和MediaProvider資料庫保持一致。

SDCardFS 棄用

在 Android 11 中已棄用 SDCardFS 支援。VTS 測試不允許掛載列為 SDCardFS 的檔案系統。 SDCardFS的功能被其他方法取代。

測試

相容性測試套件 (CTS)

Android 11 為 CTS 引入了許多新的關鍵模組和測試變更。有關詳細信息,請參閱CTS 發行說明

APEX 管理 API 的 CTS 測試

從 Android 11 開始, CtsShimApex軟體包包含兩個預先建置的應用程序,CTS 使用它們來測試特權和權限。

如果您的裝置不支援 APEX 套件管理或裝置執行版本 10 或更低版本,則必須在系統中單獨預先安裝這兩個預先建置應用程式。

有關更多詳細信息,請參閱CTS 墊片包

CTS 發行說明

Android 11引入了許多新的關鍵模組和測試變更

偵錯

範圍供應商日誌記錄

Android 11 新增了新的 HAL,IDumpstateDevice(版本 1.1)。此 HAL公開了新方法,以更嚴格地限制標準錯誤報告中包含的供應商日誌,並允許使用者建立開啟和關閉供應商日誌記錄(使用者建置的預設設定是關閉的)。這使 OEM 能夠更好地控制特定類型的錯誤報告中包含的內容。

GWP-ASan:堆損壞偵測

GWP-ASan是本機記憶體分配器功能,可協助尋找 32 位元和 64 位元進程中的釋放後使用和堆緩衝區溢位錯誤。

GWP-ASan 在 Android 11 中自動啟用系統應用程式和平台可執行檔。不要在平台中停用它,並在您的應用程式中啟用它。

更新

動態系統更新 (DSU) 增強功能

Android 10 包含動態系統更新 (DSU) 的增強功能,包括:

  • 新前端,一鍵式 DSU 載入程序
  • 支援多分區 DSU
  • OEM 簽署的 DSU,用於增強安全性
  • 管理 DSU 和設備之間相容性的新方法

多個 SKU 的 OTA 包

Android 11 或更高版本支援對具有不同 SKU 的多個裝置使用單一 OTA 套件。為此,需要將目標裝置配置為使用動態指紋並更新 OTA 元資料(使用 OTA 工具)以將裝置名稱和指紋包含在前置條件和後置條件條目中。

簽署版本以供發布

Android 11 中更改了用於簽署要發布的版本的多個 CLI 命令。

供應商測試套件 (VTS) 11

Android 11供應商測試套件 (VTS)提供核心和硬體抽象層 (HAL) 的廣泛測試。

虛擬A/B

Android 11 透過提供虛擬 A/B 統一了 A/ B 更新和非 A/B 更新。虛擬 A/B 為裝置帶來無縫更新,同時最大限度地降低儲存成本。

測試

預設情況下 Scudo 堆分配器

從 Android 11 開始,scudo 堆分配器用於所有本機代碼(低記憶體裝置除外,仍使用 jemalloc)。因此,您不再需要在每個二進位檔案的基礎上啟用 scudo。有關 scudo 的更多信息,請參閱Scudo 頁面

電視

CAS框架

Android 11 支援 Android TV 的媒體條件接收系統 (Media CAS) 框架,該框架為第三方開發者和 OEM 提供標準 Java API。有關詳細信息,請參閱CAS 框架

多媒體隧道

對於 Android 11,用戶可以使用直接從 Tuner 提供的音訊和視訊內容來實現多媒體隧道

調音器框架

Android 11 支援 Android TV 的調諧器框架,該框架使用調諧器 HAL、調諧器 SDK API 和調諧器資源管理器提供 A/V 內容。

電視輸入框架

Android TV 輸入框架 (TIF)簡化了向 Android TV 直播內容的交付,為製造商提供了標準 API,以創建用於控制 Android TV 的輸入模組,並支援直播電視搜尋和推薦。 Android 11 為 TIF 引進了三個新組件。