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 11product分區解綁,使其獨立於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 中。加載內核模塊的順序是可配置的。

調試文件

Android 11移除了對 DebugFS 的平台支持,並要求它不能在生產設備上掛載或訪問。雖然 DebugFS 是為調試目的而創建的,但它已包含在通用和供應商特定組件的用戶和使用的調試版本中。 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 實現,增加了對更多相機功能的支持,包括:

  • RAW 捕捉
  • 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 通過脫機支付同步解決了這個問題,這種機制允許您同步觸碰支付中的支付配置、非接觸式前端 (CLF) 上的路由配置以及安全元素中的應用選擇狀態.

快速訪問錢包

快速訪問錢包功能允許用戶直接從電源菜單訪問支付卡和相關通行證。

通話和短信

緊急呼叫行為

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

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

可更新的緊急號碼數據庫

Android 11 引入了可通過 OTA 更新進行更新的緊急號碼數據庫。該數據庫包含一個帶有相應國家和服務類別的緊急電話號碼列表。

載體

eSIM

通過運營商應用程序激活 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) 提供支持,這些 API 可獲取有關小區的 CSG 信息的信息。這對於通過封閉用戶組管理小型蜂窩的移動網絡運營商 (MNO) 非常有用。

連接診斷 API

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

打開移動 API 更改

Android 11 為 Open Mobile 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的 home provider 匹配。
    • 支持HomeSP/OtherHomePartners的家庭提供商匹配。
    • 刪除 Passpoint 規範不要求的 EAP 方法匹配要求。

Wi-Fi 配置文件改進了通用名稱支持

在 Android 11 中,如果在可選的Android擴展子樹中指定了通用名稱,則當運營商的根證書頒發機構 (CA) 發生更改時, Wi-Fi 配置文件仍然有效。在以前的版本中,如果根 CA 發生更改,用戶必須從運營商處下載新的配置文件。

數據

數據訪問審計

Android 11 引入了數據訪問審計,讓應用開發者能夠更好地識別他們的應用和依賴項如何訪問用戶的私有數據(例如位置和相機數據)。對於復雜的多用途應用程序,開發人員可以定義屬性標籤來識別應用程序的不同部分。

有關詳細信息,請參閱數據訪問審核

展示

氣泡通知 API 更新

Android 10 引入了Bubbles 通知 API ,讓用戶可以輕鬆地在設備上的任何位置執行多項任務。 Android 11 包含多項 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 設備上的體驗。提高關鍵工作流程的 UX 一致性可顯著降低在 BYOD 環境中支持 Android 的成本。跨設備一致實施隱私功能也增加了用戶的信心。一些更新包括:

  • 應用程序列表具有標記為個人和工作的單獨選項卡。
  • 工作選項卡有一個關閉工作資料的開關。
  • 關閉工作資料後,工作應用程序圖標將變為灰色,並且工作選項卡上的覆蓋顯示工作應用程序已暫停。

相互作用

上下文中心運行時環境更新

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

觸覺

Android 11 包含有關在您的設備上實施觸覺和評估觸覺性能的新指南。

觸覺

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對象,該對像在執行完成時發出信號。這減少了小序列模型和流用例的開銷。 Fenced 執行還允許與可以發出信號或等待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 引入了一種鉸鏈角度傳感器類型來表示一種傳感器,用於測量設備的兩個組成部分之間的角度。

傳感器多 HAL 2.1

Sensors Multi-HAL 2.1可在 Android 11 上使用,是 Sensors Multi-HAL 2.0 的迭代版本,支持加載可暴露鉸鏈角度傳感器類型的子 HAL。要支持這種傳感器類型,sub-HAL 必須使用2.1 SubHal 標頭中定義的 sub-HAL API。

媒體

數字版權管理

Android 11 通過刪除MediaDrmService 簡化了 MediaDrm/Crypto IPC 路徑。添加了一個新的MediaDrm API 以枚舉可用的 DRM 插件。

MediaCodec 中的低延遲解碼

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

各種各樣的

從 Android 11 開始,AOSP Gallery 應用不需要支持ACTION_VIEW Intent 的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 棄用

SDCardFS 支持在 Android 11 中已棄用。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 位進程中的 use-after-free 和 heap-buffer-overflow 錯誤。

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 的Tuner 框架,該框架使用 Tuner HAL、Tuner SDK API 和 Tuner Resource Manager 提供 A/V 內容。

電視輸入框架

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