Android 11發行說明

本頁總結了Android 11版本中的主要功能,並提供了指向其他信息的鏈接。這些功能摘要是根據此站點上功能文檔的位置進行組織的。

建築學

API配額

Android 11版本引入了API配額功能,該功能限制了應用調用某些API的頻率。它僅在JobScheduler API調用中實現。您對預設限制所做的任何更改仍必須通過CTS測試。您可以使用QuotaTracker.javasetEnabled方法禁用和啟用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引入了通用內核映像(Generic Kernel Image,GKI) ,該內核通過統一核心內核並將SoC和開發板支持從核心內核轉移到可加載模塊中來解決內核碎片問題。

模塊化內核

內核模塊支持

通用內核映像(GKI)可能不包含使設備能夠安裝分區所需的驅動程序支持。為了使設備能夠安裝分區並繼續引導,增強了第一階段的init加載ramdisk上存在的內核模塊。虛擬磁盤分為通用虛擬磁盤和供應商虛擬磁盤。供應商內核模塊存儲在供應商ramdisk中。內核模塊的加載順序是可配置的。

調試文件

Android 11刪除了對DebugFS的平台支持,並要求它不能在生產設備上安裝或訪問。雖然DebugFS是為調試目的而創建的,但它已包含在用戶和使用過的用於通用組件​​和特定於供應商的組件的調試版本中。不推薦使用DebugFS,因為它會創建:

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

  • 代碼質量差。因為它們是用於調試的,所以未像其他文件系統中那樣嚴格地檢查和測試添加到debugfs中的節點。當在debugfs中發現bug時,將它們視為優先級較低的漏洞,這會導致源自debugfs安全漏洞。

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

在Android 11中,VTS強制在設備的內核配置中未啟用CONFIG_DEBUG_FS ,並且/proc/filesystems下未列出debugfs

ION為GKI堆積

在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平台支持相機Bokeh實現,並提供API使Bokeh功能可用於第三方應用程序。

相機變焦

在Android 11中,應用程序可以通過ANDROID_CONTROL_ZOOM_RATIO設置使用相機的變焦(數字和光學)。與使用ANDROID_SCALER_CROP_REGION設置使用整數值相比,此設置是浮點因子,可以實現更好的縮放精度,並且可以進行縮小(<1.0f)。

並發攝像頭流

從Android 11開始,Camera2 API包含應用程序可以調用的方法,以確定相機是否支持並發流以及支持哪些流配置。

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

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

  • RAW拍攝
  • YUV後處理
  • 3級設備
  • 邏輯相機支持
  • 僅深度相機支持

可以在/platform/hardware/google/camera/devices/EmulatedCamera/hwl找到此仿真相機HAL。

多機位最佳做法

要在保持應用程序兼容性的同時充分利用多相機啟用的功能,請在實現邏輯多相機設備時遵循以下最佳做法。這包括使用Android 11中引入的ANDROID_CONTROL_ZOOM_RATIO API的最佳做法。

系統相機

Android 11通過android.permission.SYSTEM_CAMERA權限引入了對系統相機的支持。系統攝像頭允許您實現可在特權或系統應用程序上使用但第三方公共應用程序不可用的攝像頭功能。

兼容性

Android 11兼容性定義文檔以前的版本進行了迭代,對新功能進行了更新,並對以前發布的功能的要求進行了更改。

連接性

藍牙和NFC

NFC脫離主機付款同步

Android支持帶有安全元素的NFC卡仿真(用於脫離主機卡仿真),但是“點按付款”設置中指定的首選付款服務可能無法與安全元素中的應用同步。

Android 11通過脫離主機付款同步解決了這個問題,該機制使您可以同步Tap&pay中的付款配置,非接觸式前端(CLF)上的路由配置以及安全元素中的app-selected狀態。

快速訪問錢包

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

通話和短信

緊急呼叫行為

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起,使用時eraseSubscriptions的方法EuiccManager ,你應該提供一個EuiccCardManager#ResetOption枚舉值,指定是否刪除所有測試,運行,或兩種類型的訂閱。

多運營商網絡支持

使用Android 11啟動的設備可以為多個公共陸地移動網絡(PLMN)提供支持。多PLMN支持通過允許移動網絡運營商廣播多個身份為移動網絡運營商(MNO)提供靈活性。

小小區支持

使用Android 11啟動的設備可以通過單元標識API中的方法來為封閉訂戶組(CSG)提供支持,該方法獲取有關單元的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家庭提供程序匹配。
    • 支持HomeSP/OtherHomePartners家庭提供者匹配。
    • 刪除Passpoint規範不需要的EAP方法匹配要求。

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

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

數據

數據訪問審核

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

有關更多信息,請參見數據訪問審核

展示

氣泡通知API更新

Android 10引入了Bubbles通知API ,該API使用戶可以輕鬆地從設備上的任何位置執行多任務。 Android 11包括幾個Bubbles增強功能。最值得注意的變化是默認情況下啟用了Bubbles,並將設置移出了開發人員選項。無需任何工作即可在Android平台上實現Bubbles。

設備控制

設備控件功能自Android 11開始可用,使用戶可以從Android電源菜單快速查看和控制外部設備,例如燈光,恆溫器和相機。設備聚合器(例如Google Home)和第三方供應商應用程序可以提供要在此空間中顯示的設備。不需要平台實施工作即可支持此功能。默認實現包含在AOSP系統UI中。有關在您的控件應用中添加對設備控件的支持的信息,請參閱“控制外部設備Android開發者”頁面。

文字分類器更新

Android 11在ExtServices Mainline模塊中引入了文本分類器服務可更新默認實現。建議設備製造商使用TextClassifierService此實現,因為可以通過Mainline OTA更新對其進行更新。

企業

工作資料改進

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

支持Android的IT管理員必須在用戶帶來的任何Android設備上支持這種體驗。改善關鍵工作流程的UX一致性可顯著降低BYOD環境中支持Android的成本。跨設備一致地實施隱私保護功能還可以提高用戶的信心。一些更新包括:

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

相互作用

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

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公開了新方法,以更嚴格地界定標準錯誤報告中包括的供應商日誌的範圍,並允許用戶構建打開和關閉供應商登錄(用戶構建的默認設置為off)。這使OEM可以更好地控制特定類型的錯誤報告中包含的內容。

GWP-ASan:堆損壞檢測

GWP-ASan是一種本機內存分配器功能,有助於在32位和64位進程中查找釋放後使用和堆緩衝區溢出錯誤。

GWP-ASan在Android 11中自動為系統應用程序和平台可執行文件啟用。請不要在平台中禁用它,而在您的應用程序中啟用它。

更新

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

Android 10包括對動態系統更新(DSU)的增強,其中包括:

  • 一個新的前端,一鍵式DSU加載器
  • 支持多分區DSU
  • OEM簽名的DSU,以增強安全性
  • 管理DSU與設備之間兼容性的新方法

適用於多個SKU的OTA軟件包

Android 11或更高版本支持將單個OTA軟件包用於具有不同SKU的多個設備。這樣做需要將目標設備配置為使用動態指紋,並更新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 Framework ,該框架使用Tuner HAL,Tuner SDK API和Tuner Resource Manager交付A / V內容。

電視輸入框架

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