Android 12 和 Android 12L 發行說明

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

建築學

AlwaysOnHotwordDetector 類別更新

從 Android 12 開始, AlwaysOnHotwordDetector 類別(包括其工廠方法android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector()是系統 API ( @SystemApi ),而不是公共 API。 AlwaysOnHotwordDetector類別旨在供具有系統級權限的助手應用程式使用,這些應用程式通常與作業系統版本捆綁在一起。在 Android 11 及更低版本中,API 受到檢查的保護,以確保呼叫者是目前活動的 Assistant 應用,使其他第三方應用程式無法使用該 API。

此外,Android 12 還包含聲音觸發功能增強功能,可透過聲音觸發 API 改善與麥克風使用相關的權限的歸屬和執行。麥克風的使用(包括透過SoundTriggerManagerAlwaysOnHotwordDetector類別的間接使用)歸因於呼叫AlwaysOnHotwordDetector類別的原始套件(助理應用程式)。這提高了用戶隱私和使用麥克風的包的透明度。在 Android 11 及更低版本中,麥克風的使用歸因於系統用戶,因為原始套件不會直接使用聲音觸發 API,而是透過駐留在system_server進程中的更高層級的服務。

這些變化的影響如下:

  • 使用AlwaysOnHotwordDetector類別的非系統應用程式無法針對 Android 12 API 進行編譯,因為 API 已從公共介面中刪除。
  • 使用AlwaysOnHotwordDetector類別的現有系統應用程式可能會被拒絕在運行時使用聲音觸發功能。若要解決此問題並允許這些應用程式透過聲音觸發器存取麥克風,請為這些應用程式聲明RECORD_AUDIOCAPTURE_AUDIO_HOTWORD權限。

Android Rust 語言支援

Android 12 現在支援 Rust 程式碼使用。安裝文件中新增的新部分提供了使用 Rust 在 Android 上進行開發的指南。

有關 Android Rust、各種模組的更多資訊以及查看範例(以及取得 IDE 設定資訊),請參閱Android Rust 簡介中的新 Android Rust 部分。

啟動映像頭

Android 12 新增了啟動映像標頭版本 4 的使用,這是支援通用核心映像 (GKI)架構的裝置的主要啟動映像。 Android 12 也提供了boot_signature用於檢查核心和 ramdisk 的完整性。使用 GKI 架構的裝置需要在VtsSecurityAvbTest中完成該檢查。

要了解更多信息,請參閱啟動映像標頭頁面。

實施 bootconfig 的更改

Android 12 中的 bootconfig 功能是一種將配置詳細資訊從建置和引導程式傳遞到 Android 12 的機制,它取代了 Android 11 及更低版本中使用的androidboot.*核心命令列選項。此功能提供了一種將 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

Android 12 透過 fastboot 命令引入了對刷新供應商 ramdisk 的支持,該命令從設備中提取完整的vendor_boot映像。此指令提示主機端 fastboot 工具讀取供應商引導標頭、重新映像並刷新新映像。此支援包括引導程式和 fastbootd 變更以取得必要的數據,例如分割區大小和偏移量。

有關更多信息,請參閱“用戶空間中的 Fastboot”頁面上的刷新供應商 ramdisk

GKI 版本控制

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

有關更多詳細信息,請參閱GKI 版本控制

MM事件-歷史記憶體統計

在 Android 12 上啟動的裝置可以利用mm_events ,這是一組在系統遇到記憶體壓力時定期擷取的與記憶體相關的統計資料。 mm_eventsperfetto追蹤機制集成,並增加了最小的效能開銷。統計資訊收集在可設定的時間段內保持活動狀態,定期擷取統計資料。

有關如何利用mm_events統計信息的信息,請參閱MM 事件 - 歷史內存統計信息

系統警報視窗限制

為了提高Android生態系統的安全性,Android 12增加了取得SYSTEM_ALERT_WINDOW權限的難度,並允許第三方應用程式阻止其他第三方應用程式的覆蓋範圍。

在 Android 12 中,預先安裝應用程式不會自動授予SYSTEM_ALERT_WINDOW appOp。必須由使用者明確授予,預先安裝應用程式才能使用它。系統應用程式仍然預設獲得權限。

第三方應用程式可以選擇不讓應用程式覆蓋在其上繪製。這提供了一種針對cloak and dagger式攻擊的保護機制。這適用於所有應用程序,以便安全敏感的應用程式(例如銀行應用程式)可以保護自己。要使用此功能,應用程式必須在其清單中聲明HIDE_OVERLAY_WINDOWS權限。

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged)已棄用,取而代之的是HIDE_OVERLAY_WINDOWS

供應商啟動分區更改

使用啟動映像標頭版本 4 的 Android 12 裝置支援vendor_boot分割區中的多個供應商 ramdisk。這些 ramdisk 片段在供應商 ramdisk 部分中串行連接。供應商 ramdisk 表描述了供應商 ramdisk 部分的佈局以及每個供應商 ramdisk 片段的元資料。

由於 Android 12 及更高版本中供應商引導分區的更改,您無法使用default作為供應商 ramdisk 片段名稱;它被指定為保留。在任何情況下都不允許使用它來命名供應商 ramdisk 片段。

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

聲音的

組合音訊設備路由

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

有關更多信息,請參閱組合音頻設備路由頁面。

音訊 HAL V7 更新

為了解決向後相容性問題,從 Android 13 開始,所有 HAL 變更都必須使用穩定的 AIDL。為了準備和增強未來 AIDL 的採用,我們對 Android 12 中的音訊 HAL 版本 7 進行了重大更改。

有關更多信息,請參閱音頻 HAL V7 部分的更新音頻策略示例

相機

可折疊設備的相機靜態元資料條目

Android 12 引入了deviceStateOrientationMap相機靜態元資料條目,該條目允許相機 HAL 通知相機用戶端和相機框架由裝置折疊狀態變化觸發的感測器方向變化。可折疊設備可以選擇使用一個或多個邏輯相機,這些邏輯相機由具有針對不同設備折疊狀態的不同感測器方向的實體設備組成。 deviceStateOrientationMap元資料條目允許相機框架確保當捕獲結果中的活動物理 ID 發生變化時應用必要的輸出表面轉換。

有關更多詳細信息,請參閱metadata_definitions.xml

CameraX 供應商擴充支援要求

在 Android 12 中,支援 CameraX 擴充功能的裝置必須將ro.camerax.extensions.enabled屬性設為true ,以便查詢裝置是否支援擴充。

有關詳細信息,請參閱在設備上設定供應商庫

四拜耳相機感光元件支援

Android 12 引入了平台 API,允許應用程式利用具有超高解析度相機感測器的設備,通常具有四拜耳或九拜耳模式,可在影像品質和低光性能方面提供靈活性。新的 API支援這些感測器的行為,考慮到它們在「最大解析度」模式而不是「預設」模式下運行時可能支援不同的流配置和組合。

要實現對超高解析度相機感測器的相機 HAL 支持,設備製造商必須對以下檔案進行更改:

相容性

SIM 卡的 ADN 支援要求

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

有關更多詳細信息,請參閱螢幕和存儲

相機 ITS 更新

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

有關更多信息,請參閱Android 12 相機圖像測試套件發行說明

客戶驅動開發更新

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

連接性

5G網路切片

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

有關更多信息,請參閱5G 網路切片

配套設備管理器設定檔

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

顯示授予權限的提示的手機螢幕截圖

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

有關詳細信息,請參閱配套設備設定檔

IMS 服務權利(TS.43)

Android 12 支援TS.43 服務權利配置,這是一種 GSMA 規範,定義了啟動服務的權利驗證步驟,包括 Wi-Fi 語音 (VoWiFi)、LTE 語音 (VoLTE)、IP 簡訊(SMSoIP)、eSIM 配套設備(與請求設備關聯)的設備上服務啟動(ODSA) 和資料計劃資訊。

有關更多信息,請參閱IMS 服務權利

IMS單一註冊

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

有關更多信息,請參閱IMS 單一註冊

位置時區偵測

Android 12 包含位置時區偵測,這是一項可選的自動時區偵測功能,可讓裝置使用其位置和時區地圖資料來確定目前時區。

有關詳細信息,請參閱位置時區檢測

MAC隨機化

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

有關詳細信息,請參閱MAC 隨機化行為

網路選擇

Android 12 引進了使用NetworkScore類別的新網路選擇機制。網路選擇會影響 Android 如何滿足應用程式和系統網路請求,並影響如何選擇應用程式的預設網路。

有關詳細信息,請參閱網路選擇

通知呼叫樣式

從 Android 12 開始,我們建議應用程式對傳入和正在進行的語音和視訊通話使用新的通知樣式CallStyle 。此通知樣式包括用於接聽、拒絕和掛斷電話的操作按鈕。它還使用與對話相同的以人為中心的風格,這與其將呼叫通知排列在陰影頂部的行為一致。

對於要使用CallStyle通知樣式的應用程序,它們必須使用全螢幕意圖或前台服務(具有關聯的權限)。此樣式將通話通知排列在陰影頂部。對於正在進行狀態的通話,此樣式會在狀態列上新增一個晶片,使用戶可以快速返回通話應用程式。

有關詳細信息,請參閱呼叫通知

Passpoint 更新

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

有關這些功能的更多信息,請參閱Passpoint (Hotspot 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 蜂巢連線。為此功能必須實現Radio 1.6 HAL

預設啟用 2G 切換功能。運營商可以透過 CarrierConfig 標誌KEY_HIDE_ENABLE_2G在運行時停用該功能。

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

UICC規範

在 Android 12 中,要執行 CTS 營運商 API 測試,裝置需要使用具有 CTS 營運商權限的開發者 UICC,滿足最新版本的第三方 GSMA TS.48 測試設定檔規格中指定的要求。

有關更多信息,請參閱準備 UICC

Wi-Fi AP/AP 併發

Android 12 引入了 Wi-Fi AP/AP 並發功能,該功能可讓裝置啟動橋接雙 (AP+AP) 網路共享熱點。

有關詳細信息,請參閱Wi-Fi AP/AP 並發

Wi-Fi/蜂窩共存頻道避免

Android 12 引入了Wi-Fi/蜂窩共存通道避免功能,該功能可在蜂窩通道之間存在幹擾時識別並防止使用不安全的 Wi-Fi 通道。這包括 STA、SoftAp、Wi-Fi Direct (P2P)、Wi-Fi Aware (NAN) 等介面。

Wi-Fi 安全協定增強

Android 12 引入了對 WPA3 哈希到元素 (H2E)、WPA2/WPA3-Enterprise 轉換模式和轉換禁用指示的支援。

有關詳細信息,請參閱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開始,框架的變化支援熱插拔處理和動態顯示功能。

有關更多信息,請參閱Composer HAL 中的熱插拔處理

模組化系統組件

Android 13 包含多個新的和更新的模組化系統元件。新模組是:

  • ART :此模組旨在透過為用戶提供最新的託管運行時間優化、功能和錯誤修復來改善 Android 體驗。

  • 設備調度:此模組包含偵測設備是否處於空閒狀態的邏輯,並且可以在不中斷使用者的情況下重新啟動。

現有模組的更新:

媒體

相容的媒體轉碼

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

表現

應用程式休眠

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

有關詳細信息,請參閱應用程式休眠

Cgroup抽象層

Android 12 中的控制群組 (cgroup) 抽象層引入了新功能,例如將特定 cgroup 控制器定義為可選的功能,以及使用新的task_profiles命令來取代已棄用的writepid命令。此替換可確保在 cgroup 層次結構中移轉任務時,底層 cgroup 實作不會對上層產生影響。 Android 12 還引入了對每個 API 等級任務設定檔的支援。

有關更多信息,請參閱Cgroup 抽象層

權限

藍牙權限

Android 12 引入了以下藍牙權限,取代了BLUETOOTHBLUETOOTH_ADMIN權限:

這些權限是新的NEARBY_DEVICES運行時間權限群組的一部分。此權限組支援連接到智慧手錶等用例,而無需LOCATION運行時權限。

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

有關使用權限的更多信息,請參閱藍牙權限

隱私指標

當應用程式透過攝影機和麥克風應用程式操作權限使用私有資料來源時,Android 12 會顯示指示器,從而為使用者提供透明度。

App Ops 會追蹤活動狀態和單一 API 呼叫的數量,並與 Android 12 中的麥克風和攝影機指示燈進行交互,以向用戶顯示應用程式何時存取了裝置上的音訊和攝影機資料。當用戶單擊麥克風或攝影機指示器時,他們會看到哪些應用程式存取了他們的資料。

此功能對於所有 OEM 都是強制性的。有關更多信息,請參閱隱私指標

地點

從 Android 12 開始,使用者可以請求應用程式在存取位置資訊時僅獲得近似準確度

此變更旨在僅影響針對 Android 12 或更高版本的應用程式。但是,在具有舊版本PermissionController模組的裝置上,此變更會影響所有應用程序,無論目標 SDK 版本為何。

運行

Dexpreopt 和 <uses-library> 檢查

Android 12 對具有<uses-library>依賴項的 Java 模組的 DEX 檔案 (dexpreopt) 提前 (AOT) 編譯進行了建置系統變更。在某些情況下,這些建置系統變更可能會破壞建置。

有關如何準備破損以及修復和緩解破損的方法的信息,請參閱Dexpreopt 和 <uses-library> 檢查

測試

相容性測試套件 (CTS)

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

電視

HDMI-CEC 控制服務

Android 12 使用 HDMI-CEC 在裝置喚醒或進入睡眠狀態時自動控制 HDMI 連線的顯示器。

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

調音器框架

在 Android 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 壓縮透過在唯讀分割區(例如/system分割區)上使用一組高度壓縮的 APEX 檔案來最大限度地減少這種儲存影響。若要了解 Android 12 中的 APEX 壓縮,請參閱壓縮的 APEX

重新啟動時恢復安全性和便利性

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

有關更多信息,請參閱重新啟動時恢復

使用 RoR 重播 SIM PIN

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

有關詳細信息,請參閱SIM-PIN 重播

虛擬 A/B 更新

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

透過快照壓縮實現虛擬 A/B 需要更改設備特定的代碼。請參閱虛擬 A/B 概述實施虛擬 A/B頁面上的變更和實施詳細資訊。