Android 12 發行說明

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

建築學

AlwaysOnHotwordDetector 類更新

Android中12開始, AlwaysOnHotwordDetector類包括其工廠方法, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector()是一個系統API( @SystemApi )而不是公共API。該AlwaysOnHotwordDetector類用於通過使用與助理系統級權限,這通常與OS解鎖捆綁應用。在 Android 11 及更低版本中,API 受檢查保護,以確保調用者是當前活動的智能助理應用程序,從而使其他第三方應用程序無法使用該 API。

此外,機器人12包括聲音觸發功能的增強,以提高通過聲音觸發API與麥克風的使用權限的歸屬和執行。麥克風的使用,包括間接使用諸如通過SoundTriggerManagerAlwaysOnHotwordDetector類,歸因於始發包(助理應用程序)調用AlwaysOnHotwordDetector類。這提高了使用麥克風的包裹的用戶隱私和透明度。在Android中11,下,麥克風的使用歸因於該系統的用戶,因為始發包不直接,而是通過居住在更高級別的服務使用聲音觸發API system_server過程。

這些變化的影響如下:

  • 使用非系統應用AlwaysOnHotwordDetector類無法編譯針對Android的API 12由於API是從公共表面去除。
  • 使用現有的系統應用AlwaysOnHotwordDetector類可以使用聲音觸發功能,在運行時被拒絕。為了解決這個問題,並允許這些應用程序通過聲音觸發訪問麥克風,宣布RECORD_AUDIOCAPTURE_AUDIO_HOTWORD這些應用的權限。

Android Rust 語言支持

Android 12 現在支持 Rust 代碼使用。設置文檔中添加的新部分提供了使用 Rust 在 Android 上進行開發的指南。

有關Android的銹的更多信息,各種模塊,並要查看示例(以及獲得IDE設置信息),請參閱全新的Android銹部分的Android銹介紹

啟動映像頭

機器人12將使用的引導映像頭版本4,它是用於支撐設備的主要引導映像通用內核映像(GKI)架構。 Android的12還提供了一個boot_signature檢查內核和ramdisk上的完整性。檢查,這是在完成VtsSecurityAvbTest ,需要用於使用GKI架構設備。

要了解更多信息,請參閱引導映像頭頁。

對實現 bootconfig 的更改

Android中12 BOOTCONFIG特徵,用於從構建和引導加載程序到Android 12通過配置細節的機構,代替androidboot.*與Android 11和下使用內核CMDLINE選項。此功能提供了一種將 Android 用戶空間的配置參數與內核的配置參數分開的方法。

要了解更多信息,請訪問實施BOOTCONFIG

自定義字體後備

之前的Android 12,在AOSP更新已安裝的設備的字體文件(在/system/fonts分區)或供應商分區(在/product/fonts/system/fonts分區)需要從OEM系統更新。此要求對錶情符號兼容性有重大影響。在Android中12,你可以使用FontManager系統服務管理已安裝的字體文件,並更新已安裝的設備的字體文件,而無需系統更新。

關於這個新功能的信息,請參閱實現自定義字體回退。

DMA-BUF 堆

在Android中12,GKI 2.0替換ION分配器與DMA-BUF堆

啟用區域設置過濾器

Android 12 引入了一項功能,您可以使用該功能為新設備類型配置默認系統語言和區域設置過濾器。這使您可以通過設置過濾器屬性值和默認語言oem/oem.prop工廠校準過程中,以及配置的限制,而不烘烤過濾器進入系統映像。

欲了解更多信息,請參閱啟用區域設置過濾器

閃爍供應商 ramdisk

機器人12引入了對通過拉動充滿FASTBOOT命令閃爍廠商的ramdisk支持vendor_boot從設備的圖像。該命令會提示主機端 fastboot 工具讀取供應商引導標頭、重新映像並刷新新映像。此支持包括引導加載程序和 fastbootd 更改以獲得必要的數據,例如分區大小和偏移量。

欲了解更多信息,請參閱閃爍廠商的ramdisk上的用戶空間快速啟動頁面。

GKI 版本控制

從 Android 12 開始,KMI 版本的 Android 發布部分可以從內核中提取並在構建時注入到設備清單中。

有關詳細信息,請參閱GKI版本

MM事件-歷史記憶統計

設備在Android推出12可以利用mm_events ,一組與內存有關的統計數據得到定期捕獲而系統的經驗內存壓力。 mm_events集成了perfetto跟踪機制,並增加了最小的性能開銷。統計信息收集在可配置的時間段內保持活動狀態,定期捕獲統計信息。

有關如何利用信息mm_events統計,見MM事件-歷史記憶統計

系統警報窗口限制

為了提高Android生態系統的安全性,Android的12取得了更難獲得SYSTEM_ALERT_WINDOW許可,並允許第三方應用程序,以阻止來自其他第三方應用程序覆蓋。

預裝的應用程序不會自動授予SYSTEM_ALERT_WINDOW appOp Android中12.必須由用戶明確批准之前預裝的應用程序可以使用它。系統應用仍然默認獲得權限。

第三方應用程序可以選擇退出在其上繪製應用程序疊加層。這就提供了一種保護機制, cloak and dagger式的攻擊。這適用於所有應用程序,以便安全敏感應用程序(例如銀行應用程序)可以保護自己。要使用此功能,應用程序必須聲明HIDE_OVERLAY_WINDOWS在他們的清單許可。

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged)贊成不贊成HIDE_OVERLAY_WINDOWS

供應商引導分區更改

的Android使用引導映像頭版本4 12裝置具有用於在多供應商的ramdisk支持vendor_boot分區。這些 ramdisk 片段在供應商 ramdisk 部分中串行連接。供應商 ramdisk 表描述了供應商 ramdisk 部分的佈局和每個供應商 ramdisk 片段的元數據。

由於Android的12更改到供應商的引導分區和高,你不能使用default的供應商RAMDISK片段的名稱;它被指定為保留。在任何情況下都不允許使用它來命名供應商 ramdisk 片段。

要了解更多信息,請參閱供應商引導分區多個供應商的ramdisk

聲音的

組合音頻設備路由

組合音頻設備路由功能增加了對同時向多個音頻設備流式傳輸音頻的支持。使用此功能,特權應用程序可以通過系統 API 為特定策略選擇多個首選設備。應用程序可以通過此功能提供的公共 API 更準確地發現音頻設備的功能。

欲了解更多信息,請參閱組合的音頻設備路由頁面。

音頻 HAL V7 的更新

為了解決向後兼容性問題,對於從 Android T 開始的所有 HAL 更改,Stable AIDL 將是強制性的。為了準備和增強未來 AIDL 的採用,Android 12 中的 Audio HAL 版本 7 進行了重大更改。

欲了解更多信息,請參閱更新到音頻HAL V7部分和音頻政策例子

相機

CameraX 供應商擴展支持要求

在Android中12,支撐CameraX擴展設備必須具有ro.camerax.extensions.enabled屬性設置為true ,這允許用於詢問是否一個設備支持擴展。

欲了解更多信息,請參閱設置設備上的供應商庫

Quad bayer 攝像頭傳感器支持

Android 12 引入了平台 API,讓應用可以利用具有超高分辨率相機傳感器的設備,通常具有四或非拜耳模式,可在圖像質量和低光性能方面提供靈活性。在新的API支持這些傳感器考慮到在“最高分辨率”模式,而不是“默認”模式下工作時,他們可能會支持不同的數據流配置和組合的行為。

要為超高分辨率相機傳感器實現相機 HAL 支持,設備製造商必須對以下文件進行更改:

兼容性

SIM 卡的 ADN 支持要求

從 Android 12 開始,用於 CTS 測試的設備中的所有 SIM 卡都必須支持存儲縮位撥號 (ADN)。

有關詳細信息,請參閱屏幕和存儲

相機 ITS 更新

Android 12 引入了相機圖像測試套件 (ITS) 的各種更新,包括新的和更新的測試、重構到 Python 3 以及採用 Mobly 測試框架。

欲了解更多信息,請參閱Android的12攝像機圖像測試套件發行說明

CDD 更新

Android的12兼容性定義文件在迭代之前的版本與新功能和更改的更新,為先前發布的功能需求。

連通性

5G網絡切片

Android 12 提供對 5G 網絡切片的支持,使用網絡虛擬化將單個網絡連接劃分為多個不同的虛擬連接,為不同類型的流量提供不同數量的資源。這允許網絡運營商將網絡的一部分專用於為特定客戶群提供特定功能。

欲了解更多信息,請參閱5G網絡切片

配套設備管理器配置文件

面向 Android 12 及更高版本的應用可以在連接到手錶時使用配套設備配置文件。使用配置文件通過將授予一組特定於設備類型的權限捆綁到一個步驟中來簡化註冊過程。

顯示授予權限提示的電話屏幕截圖

一旦設備連接,捆綁的權限就會授予配套應用程序,並且僅在設備關聯時才有效。刪除應用程序或刪除關聯會刪除權限。

欲了解更多信息,請參閱配套設備配置文件

IMS 服務授權 (TS.43)

機器人12包括用於支撐TS.43服務權限配置,一個GSMA規範,定義為服務,包括語音過的Wi-Fi(的VoWiFi),畫外音-LTE(VoLTE的),基於IP的SMS的激活的權利驗證步驟(SMSoIP)、eSIM 配套設備(與請求設備關聯)的設備上服務激活 (ODSA) 和數據計劃信息。

欲了解更多信息,請參閱IMS服務權限

IMS單註冊

Android 12 添加了對單一註冊模型的支持,以提供 MMTEL 和 RCS 功能。該模型允許設備具有所有IMS功能通過由設備的提供的單個IMS註冊管理ImsService 。與在一台設備上管理多個 IMS 註冊的雙重註冊模型相比,單一註冊減少了運營商網絡上的流量並提高了可靠性。

欲了解更多信息,請參閱IMS單Registraion

位置時區檢測

Android 12 包括位置時區檢測,這是一項可選的自動時區檢測功能,允許設備使用其位置和時區地圖數據來確定當前時區。

欲了解更多信息,請參見地點時間區域檢測

MAC隨機化

Android 12 引入了非持久性 MAC 隨機化類型,它允許 Android 在每次連接開始時為某些網絡重新隨機化 MAC 地址。

欲了解更多信息,請參閱MAC隨機行為

網絡選擇

機器人12引入了使用的一個新的網絡選擇機構NetworkScore類。網絡選擇會影響 Android 滿足應用和系統網絡請求的方式,並影響應用默認網絡的選擇方式。

欲了解更多信息,請參見網絡選擇

通知調用樣式

在Android的12日開始,我們建議應用程序使用新的通知樣式, CallStyle ,傳入和持續的語音和視頻通話。此通知樣式包括用於接聽、拒絕和掛斷電話的操作按鈕。它還使用由所使用的同一個人為中心的風格的對話,這是在陰影中排名最高的來電通知其行為是一致的。

對於應用程序使用CallStyle通知的風格,他們必須使用全屏意圖或前台服務(與相關premission)。此樣式在陰影頂部對呼叫通知進行排名。對於正在進行的通話,這種風格在狀態欄上增加了一個芯片,讓用戶可以快速返回通話應用。

欲了解更多信息,請來電通知

通行證更新

Android 12 引入了 Passpoint R3 和其他 Passpoint 功能,例如條款和條件、場地信息 URL、修飾的身份前綴和即將解除身份驗證的處理。

有關這些功能的更多信息,請參見Passpoint(熱點2.0) 。

快速訪問錢包更新

在Android中12以上,快速訪問錢包功能,可從陰影而不是從電源菜單中的Android 11.錢包UI現在運行在系統UI和位於frameworks/base/packages/SystemUI/src/com/android/systemui/wallet

欲了解更多信息,請參見快速訪問錢包

簡化的連接用戶體驗

Android 12 提供可選的簡化連接體驗,幫助用戶更好地了解他們的網絡連接、在互聯網提供商之間切換以及解決網絡連接問題。

欲了解更多信息,請參閱連接用戶界面

時間源優先級

從 Android 12 開始,框架默認將網絡時間協議 (NTP) 時間源優先於網絡標識和時區 (NITZ) 源。

有關詳細信息,如何配置和測試設備上的時間源的優先級,見時間源優先級

切換以禁用 2G

為了提高安全性,Android 12 在“設置”中引入了 2G 切換功能,允許用戶完全禁用 2G 蜂窩連接。無線電1.6 HAL必須使用此功能來實現。

默認情況下啟用 2G 切換功能。運營商可以通過CarrierConfig標誌禁止在運行時的功能KEY_HIDE_ENABLE_2G

設備製造商必須確保在緊急呼叫期間所有網絡都可用。

UICC規範

在 Android 12 中,要運行 CTS 運營商 API 測試,設備需要使用具有 CTS 運營商權限的開發人員 UICC,該 UICC 滿足最新版本的第三方 GSMA TS.48 測試配置文件規範中規定的要求。

準備UICC以獲取更多信息。

Wi-Fi AP/AP並發

Android 12 引入了 Wi-Fi AP/AP 並發功能,允許設備調出橋接雙 (AP+AP) 網絡共享熱點。

欲了解更多信息,請參閱的Wi-Fi AP / AP並發

Wi-Fi/蜂窩 coex 信道避免

機器人12介紹的Wi-Fi /蜂窩共擠信道避免功能,該功能識別和防止使用不安全的Wi-Fi信道時,有蜂窩信道之間的干擾。這包括 STA、SoftAp、Wi-Fi Direct (P2P)、Wi-Fi Aware (NAN) 等接口。

Wi-Fi 安全協議增強

Android 12 引入了對 WPA3 哈希到元素 (H2E)、WPA2/WPA3-企業過渡模式和過渡禁用指示的支持。

欲了解更多信息,請參閱WPA3和Wi-Fi增強開放

Wi-Fi STA/STA 並發

Android 12 引入了 Wi-Fi STA/STA 並發功能,允許設備同時連接到兩個 Wi-Fi 網絡。

欲了解更多信息,請參閱的Wi-Fi STA / STA並發

設備

Android 12 汽車新功能

汽車最新消息,以了解更多有關這些新功能:

展示

阻止不受信任的接觸

為了維護系統的安全性和良好的用戶體驗,Android的12增加了阻塞支持,不可信觸摸事件。這可以防止消耗應用程式的觸摸事件,其中覆蓋掩蓋以不安全的方式應用。

對話通知和小工具

通過優先定制的通知樹蔭對話通知的行為,並安置和警報級別,使對話被標記為重要和談話的具體的Android 11添加支持在對話空間推出。基於這些 Android 11 功能,Android 12 對話小部件功能使用戶能夠將重要聯繫人的對話小部件添加到主屏幕,讓他們無需等待通知即可輕鬆恢復對話。

欲了解更多信息,請參閱對話通知和小工具

窗口模糊

Android 12 中提供了公共 API,用於實現窗口模糊效果(例如背景模糊和後面的模糊)。使用這些 API,您可以模糊您自己的窗口後面的任何內容。您可以創建背景模糊的窗口,創建磨砂玻璃效果,或顯示窗口後面的整個屏幕都變得模糊,從而創建景深效果。您也可以將這兩者結合起來。

有關這一新功能,以及如何實現它的詳細信息,請參閱窗口變模糊頁面。

窗口放大

在 Android 12 中,弱視用戶可以使用窗口放大功能放大其顯示器上的任何內容。與在整個屏幕上使用縮放功能不同,窗口放大允許用戶放大屏幕的選定部分。可以在整個顯示中拖動選定的窗口,這使他們能夠根據需要放大屏幕的不同部分。

欲了解更多信息,請參見窗口放大鏡

企業

設備管理更新

Android 12 包括以下設備管理更新:

  • 託管配置文件數據隔離更新。在具有工作資料的個人設備上,Android 12 移除了對設備硬件標識符(IMEI、MEID、序列號)的訪問權限,並提供了一個唯一的、特定於註冊的 ID,用於標識特定組織的工作資料註冊。有關詳細信息,請參閱設備標識符

  • 設備配置更新。 Android 12 對設備配置進行了多項更改。有關詳細信息和變化的列表,請參閱Android的12更新

圖形

Composer HAL 中的熱插拔處理

顯示功能(例如顯示模式和支持的 HDR 類型)可以在具有外部連接顯示器(通過 HDMI 或 DisplayPort)的設備上動態更改,例如 Android 機頂盒 (STB) 和機頂盒 (OTT)設備。從 Android 12 開始,框架的變化支持熱插拔處理和動態顯示功能。

欲了解更多信息,請參閱熱插拔的作曲家HAL處理

模塊化系統組件

主線模塊更新

機器人12引入了兩個新的模塊

藝術

Android的12或更高版本支持ART模塊,目的是提高通過為用戶提供最新的管理運行時優化Android體驗其中,功能和bug修復。

設備調度

機器人12或更高的支撐設備調度模塊,其中包含邏輯,其檢測是否該設備處於空閒狀態,並且在不中斷用戶可以重新啟動。

媒體

兼容媒體轉碼

兼容的媒體轉碼允許設備使用現代、存儲高效的媒體格式進行視頻捕獲,例如 HEVC,同時保持與應用程序的兼容性。借助此功能,設備製造商可以默認使用 HEVC 而不是 AVC 來提高視頻質量,同時降低存儲和帶寬要求。欲了解更多信息,請參閱兼容的媒體轉碼

表現

應用程序休眠

Android 12 提供了休眠用戶幾個月不使用的應用程序的功能,類似於權限自動撤銷。

應用休眠以獲取更多信息。

Cgroup抽象層

對照組(cgroup中)抽象Android中12引入了新的層的功能,如定義特定cgroup中控制器為可選的,並且使用新的能力task_profiles命令,它取代了棄用writepid命令。這種替換確保底層 cgroup 實現在遷移 cgroup 層次結構中的任務時對上層沒有影響。 Android 12 還引入了對每個 API 級別的任務配置文件的支持。

欲了解更多信息,請參閱CGROUP抽象層

權限

藍牙權限

機器人12引入了以下藍牙權限,其取代BLUETOOTHBLUETOOTH_ADMIN權限:

這些權限是新的部分NEARBY_DEVICES運行權限組。此權限組使得能夠使用例如連接到一個智能手錶而無需LOCATION運行時權限。

這些新權限與應用兼容,在 Android 11 或更低版本上運行的應用無需更改。對於面向 Android 11 或更低版本的舊版應用,平台會自動將舊版藍牙權限請求轉換為新權限請求。當應用升級到 Android 12 或更高版本時,應用必須明確請求新的藍牙權限。

有關使用權限的詳細信息,請參閱在Android的12新的藍牙權限

隱私指標

當應用通過攝像頭和麥克風應用操作權限使用私有數據源時,Android 12 會顯示指示器,從而為用戶提供透明度。

App-op 跟踪活動狀態和單個 API 調用的數量,並與 Android 12 中的麥克風和攝像頭指示器進行交互,以在應用訪問其設備上的音頻和攝像頭數據時向用戶顯示。當用戶單擊麥克風或攝像頭指示器時,他們會看到哪些應用訪問了他們的數據。

此功能是強制所有原始設備製造商。欲了解更多信息,請參閱隱私指標

地點

在Android的12日開始,用戶可以要求一個應用程序只能得到近似的準確性,當訪問位置信息。

此更改旨在僅影響面向 Android 12 或更高版本的應用。然而,對擁有的舊版本設備PermissionController模塊,這種變化會影響所有的應用程序,無論目標SDK版本。

運行

Dexpreopt 和 <uses-library> 檢查

Android的12對有Java的組件構建系統的變化名列前茅的時間(AOT)的DEX文件彙編(dexpreopt) <uses-library>相關性。在某些情況下,這些構建系統更改可能會破壞構建。

有關如何對破損和配方製備用於固定和減輕它們的信息,請參見Dexpreopt和<用途庫>檢查

測試

兼容性測試套件 (CTS)

對於 Android 12,CTS 引入了許多新的關鍵模塊和測試更改。見CTS發行說明以獲取更多信息。

電視

HDMI-CEC控制服務

當設備喚醒或進入睡眠狀態時,Android 12 使用 HDMI-CEC 自動控制 HDMI 連接的顯示器。

有關詳細信息,請參閱HDMI-CEC控制服務

調諧器框架

在安卓 12 中:

  • 帶有 Tuner HAL 1.1 或更高版本的前端支持 DTMB DTV 標準。支持以下前端功能和設置:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • Tuner SDK API 支持 Tuner HAL 1.1 中的新功能,這是 Tuner 1.0 的向後兼容版本升級。

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion()檢查正在運行的HAL版本。

更新

APEX壓縮

安裝 Android Pony EXpress 容器 (APEX) 的更新後,不再使用其預裝版本,但會佔用相同數量的內存空間。該佔用的空間仍然不可用。在Android中12,APEX壓縮最小化通過使用高壓縮的組APEX上的文件只讀分區(如該存儲衝擊/system分區)。要在Android的12讀到APEX壓縮,見壓縮頂點

Resume-on-Reboot 安全性和便利性

Android 12 引入了增強的多客戶端支持和基於服務器的重啟功能。重啟時恢復 (RoR) 過程為用戶提供了額外的安全性和便利性,因為可以在設備空閒時間進行 OTA 更新,而 Android 12 多客戶端和基於服務器的更新功能共同提供設備硬件級類型的安全性。

欲了解更多信息,請參閱恢復打開,重新啟動

帶 RoR 的 SIM PIN 重放

Android 12 具有 SIM-PIN 重放功能,可在 RoR 啟動的重啟後無縫驗證 PIN 碼。每次用戶成功啟用、驗證或修改 SIM PIN 時,都會重新加密並存儲 SIM PIN。

欲了解更多信息,請參見SIM-PIN重播

虛擬 A/B 更新

Android 12 提供了對快照分區進行虛擬 A/B 壓縮的選項。在 Android 12 中,可以對引導加載程序不使用的可更新分區進行快照以節省空間。這些也可以壓縮。在構建Android 12啟用快照壓縮節省了空間/data分區。

使用快照壓縮實現虛擬 A/B 需要更改特定於設備的代碼。見關於修改和實施細則虛擬A / B概述實現虛擬A / B頁面。