Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Android12およびAndroid12リリースノート

このページでは、Android12およびAndroid12リリースの主な機能を要約し、追加情報へのリンクを提供します。これらの機能の概要は、このサイトの機能のドキュメントの場所に従って編成されています。

建築

AlwaysOnHotwordDetectorクラスの更新

Android 12以降、ファクトリメソッドandroid.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector()を含むAlwaysOnHotwordDetectorクラスは、パブリックAPIではなくシステムAPI( @SystemApi )になります。 AlwaysOnHotwordDetectorクラスは、OSリリースに一般的にバンドルされているシステムレベルの権限を持つアシスタントアプリで使用することを目的としています。 Android 11以前では、APIは、発信者が現在アクティブなアシスタントアプリであることを確認するチェックによって保護されているため、他のサードパーティアプリではAPIを使用できません。

さらに、Android 12には、サウンドトリガーAPIを介したマイクの使用に関連する権限の帰属と実施を改善するための、サウンドトリガー機能の拡張機能が含まれています。 SoundTriggerManagerまたはAlwaysOnHotwordDetectorクラスなどによる間接的な使用を含むマイクの使用は、 AlwaysOnHotwordDetectorクラスを呼び出す元のパッケージ(アシスタントアプリ)に起因します。これにより、マイクを使用するパッケージのユーザーのプライバシーと透明性が向上します。 Android 11以下では、元のパッケージがサウンドトリガーAPIを直接使用せず、 system_serverプロセスにある高レベルのサービスを介して使用するため、マイクの使用はシステムユーザーに起因します。

これらの変更の影響は次のとおりです。

  • AlwaysOnHotwordDetectorクラスを使用する非システムアプリは、APIがパブリックサーフェスから削除されたため、Android12APIに対してコンパイルできません。
  • AlwaysOnHotwordDetectorクラスを使用している既存のシステムアプリは、実行時にサウンドトリガー機能を使用できない場合があります。この問題に対処し、これらのアプリがサウンドトリガーを介してマイクにアクセスできるようにするには、これらのアプリのRECORD_AUDIOおよびCAPTURE_AUDIO_HOTWORD権限を宣言します。

AndroidRust言語のサポート

Android 12は、Rustコードの使用をサポートするようになりました。セットアップドキュメントに追加された新しいセクションは、Rustを使用してAndroidで開発するためのガイダンスを提供します。

Android Rust、さまざまなモジュールの詳細、および例を確認する(およびIDEセットアップ情報を取得する)には、AndroidRustの概要の新しいAndroidRustセクションを参照してください。

ブートイメージヘッダー

Android 12では、ブートイメージヘッダーバージョン4の使用が追加されています。これは、 Generic Kernel Image(GKI)アーキテクチャをサポートするデバイスのプライマリブートイメージです。 Android 12には、カーネルとRAMディスクの整合性をチェックするためのboot_signatureも用意されています。 VtsSecurityAvbTestで実行されるチェックは、GKIアーキテクチャを使用するデバイスに必要です。

詳細については、ブートイメージヘッダーページを参照してください。

bootconfigの実装に対する変更

ビルドとブートローダーからAndroid12に構成の詳細を渡すメカニズムであるAndroid12のbootconfig機能は、Android11以前で使用されていたandroidboot.*カーネルコマンドラインオプションに代わるものです。この機能は、Androidユーザースペースの構成パラメーターをカーネルの構成パラメーターから分離する方法を提供します。

詳細については、 Bootconfigの実装にアクセスしてください。

カスタムフォントのフォールバック

Android 12より前は、AOSP( /system/fontsパーティション内)またはベンダーパーティション( /product/fontsまたは/system/fontsパーティション内)のデバイスにインストールされたフォントファイルを更新するには、OEMからのシステム更新が必要でした。この要件は、絵文字の互換性に大きな影響を与えます。 Android 12では、 FontManagerシステムサービスを使用して、インストールされているフォントファイルを管理し、システムを更新せずにデバイスにインストールされているフォントファイルを更新できます。

この新機能の詳細については、カスタムフォントフォールバックの実装を参照してください。

DMA-BUFヒープ

Android 12では、GKI2.0はIONアロケータをDMA-BUFヒープに置き換えます

ロケールフィルターの有効化

Android 12には、新しいデバイスタイプのデフォルトのシステム言語とロケールフィルターを構成するために使用できる機能が導入されています。これにより、工場出荷時のキャリブレーション中にoem/oem.propを介してフィルターのプロパティ値とデフォルトの言語を設定し、フィルターをシステムイメージに焼き付けずに制限を構成できます。

詳細については、ロケールフィルターの有効化を参照してください。

ベンダーのramdiskの点滅

Android 12では、デバイスから完全なvendor_bootイメージをプルするfastbootコマンドを使用して、ベンダーのramdiskをフラッシュするためのサポートが導入されています。このコマンドは、ホスト側のfastbootツールに、ベンダーのブートヘッダーを読み取り、イメージを再作成し、新しいイメージをフラッシュするように要求します。このサポートには、パーティションサイズやオフセットなどの必要なデータを取得するためのブートローダーとfastbootdの変更が含まれます。

詳細については、「ユーザースペースのFastboot 」ページの「ベンダーramdiskのフラッシュ」を参照してください。

GKIバージョニング

Android 12以降、KMIバージョンのAndroidリリース部分をカーネルから抽出し、ビルド時にデバイスマニフェストに挿入できます。

詳細については、 GKIバージョン管理を参照してください。

MMイベント-履歴メモリ統計

Android 12で起動するデバイスは、 mm_eventsを利用できます。これは、システムでメモリ不足が発生しているときに定期的に取得されるメモリ関連の統計のセットです。 mm_eventsは、 perfettoトレースメカニズムと統合されており、パフォーマンスのオーバーヘッドを最小限に抑えます。統計収集は、構成可能な期間アクティブのままであり、定期的に統計をキャプチャします。

mm_events統計を利用する方法については、「 MMイベント-履歴メモリ統計」を参照してください。

システムアラートウィンドウの制限

Androidエコシステムのセキュリティを向上させるために、Android 12ではSYSTEM_ALERT_WINDOW権限の取得が困難になり、サードパーティのアプリが他のサードパーティのアプリからのオーバーレイをブロックできるようになりました。

プレインストールされたアプリは、Android12でSYSTEM_ALERT_WINDOWを自動的に付与されません。プレインストールされたアプリが使用する前に、ユーザーが明示的に付与する必要があります。システムアプリは引き続きデフォルトで権限を取得します。

サードパーティのアプリは、アプリケーションオーバーレイをその上に描画することをオプトアウトできます。これは、 cloak and daggerスタイルの攻撃に対する保護メカニズムを提供します。これはすべてのアプリで利用できるため、銀行のアプリなどのセキュリティに敏感なアプリは自分自身を保護できます。この機能を使用するには、アプリはマニフェストでHIDE_OVERLAY_WINDOWS権限を宣言する必要があります。

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged)は非推奨になり、 HIDE_OVERLAY_WINDOWSが優先されます。

ベンダーのブートパーティションの変更

ブートイメージヘッダーバージョン4を使用するAndroid12デバイスは、 vendor_bootパーティションで複数のベンダーramdiskをサポートしています。これらのramdiskフラグメントは、ベンダーのramdiskセクションでシリアルに連結されます。ベンダーのramdiskテーブルは、ベンダーのramdiskセクションのレイアウトと各ベンダーのramdiskフラグメントのメタデータを記述します。

Android 12以降ではベンダーのブートパーティションが変更されているため、ベンダーのRAMディスクフラグメント名としてdefaultを使用することはできません。予約済みとして指定されています。ベンダーのRAMディスクフラグメントに名前を付けるためにそれを使用することは、いかなる状況でも許可されていません。

詳細については、ベンダーブートパーティションおよび複数ベンダーのramdiskを参照してください。

オーディオ

複合オーディオデバイスルーティング

組み合わされたオーディオデバイスルーティング機能により、複数のオーディオデバイスに同時にオーディオをストリーミングするためのサポートが追加されます。この機能を使用すると、特権アプリはシステムAPIを介して特定の戦略に複数の優先デバイスを選択できます。アプリは、この機能によって提供されるパブリックAPIを使用することで、オーディオデバイスの機能をより正確に検出できます。

詳細については、 Combined AudioDeviceRoutingページを参照してください。

AudioHALV7のアップデート

下位互換性の問題に対処するために、Android T以降のすべてのHALの変更にはStableAIDLが必須です。この将来のAIDLの採用に備えて強化するために、Android12のAudioHALのバージョン7に大幅な変更が加えられています。

詳細については、「オーディオHALV7のアップデート」セクションおよびオーディオポリシーの例を参照してください。

カメラ

折りたたみ式デバイスのカメラ静的メタデータエントリ

Android 12では、 deviceStateOrientationMapカメラの静的メタデータエントリが導入されています。これにより、カメラHALは、デバイスの折りたたみ状態の変化によってトリガーされるセンサーの向きの変化をカメラクライアントとカメラフレームワークに通知できます。折りたたみ式デバイスは、オプションで、さまざまなデバイスの折りたたみ状態に対してさまざまなセンサーの向きを持つ物理デバイスで構成される1つ以上の論理カメラを使用できます。 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では、新しいテストと更新されたテスト、Python 3へのリファクタリング、Moblyテストフレームワークの採用など、Camera Image Test Suite(ITS)にさまざまな更新が導入されています。

詳細については、 Android 12 Camera ImageTestSuiteのリリースノートを参照してください。

CDDアップデート

Android 12互換性定義ドキュメントは、以前のバージョンを繰り返し、新機能の更新と以前にリリースされた機能の要件の変更を行います。

接続性

5Gネットワ​​ークスライシング

Android 12は、5Gネットワ​​ークスライシングのサポートを提供します。ネットワーク仮想化を使用して、単一のネットワーク接続を複数の異なる仮想接続に分割し、さまざまなタイプのトラフィックにさまざまな量のリソースを提供します。これにより、ネットワークオペレーターは、ネットワークの一部を特定の顧客セグメントに特定の機能を提供することに専念させることができます。

詳細については、 5Gネットワ​​ークスライシングを参照してください。

コンパニオンデバイスマネージャーのプロファイル

Android 12以降を対象とするアプリは、時計に接続するときにコンパニオンデバイスプロファイルを使用できます。プロファイルを使用すると、デバイスタイプ固有のアクセス許可のセットの付与を1つのステップにバンドルすることにより、登録プロセスが簡素化されます。

許可を与えるためのプロンプトオファリングを示す電話のスクリーンショット

バンドルされた権限は、デバイスが接続されるとコンパニオンアプリに付与され、デバイスが関連付けられている間のみ有効です。アプリを削除するか、関連付けを削除すると、権限が削除されます。

詳細については、コンパニオンデバイスプロファイルを参照してください。

IMSサービス資格(TS.43)

Android 12には、 TS.43 Service Entitlement Configurationのサポートが含まれています。これは、Voice-over-Wi-Fi(VoWiFi)、Voice-over-LTE(VoLTE)、SMSoverIPなどのサービスをアクティブ化するための資格検証手順を定義するGSMA仕様です。 (SMSoIP)、eSIMコンパニオンデバイス(要求元のデバイスに関連付けられている)のオンデバイスサービスアクティベーション(ODSA)、およびデータプラン情報。

詳細については、「 IMSサービス資格」を参照してください。

IMS単一登録

Android 12は、MMTELおよびRCS機能を提供するための単一の登録モデルのサポートを追加します。このモデルにより、デバイスは、デバイスのImsServiceによって提供される単一のIMS登録を通じてすべてのIMS機能を管理できます。複数のIMS登録が1つのデバイスで管理されるデュアル登録モデルと比較して、シングル登録は通信事業者のネットワーク上のトラフィックを減らし、信頼性を高めます。

詳細については、 IMSSingleRegistraionを参照してください。

ロケーションタイムゾーンの検出

Android 12には、ロケーションタイムゾーン検出が含まれています。これは、デバイスがロケーションとタイムゾーンマップデータを使用して現在のタイムゾーンを判別できるようにするオプションの自動タイムゾーン検出機能です。

詳細については、ロケーションタイムゾーンの検出を参照してください。

MACランダム化

Android 12では、非永続的なMACランダム化タイプが導入されています。これにより、Androidは、すべての接続の開始時に特定のネットワークのMACアドレスを再ランダム化できます。

詳細については、 MACランダム化動作を参照してください。

ネットワーク選択

Android 12では、 NetworkScoreクラスを使用した新しいネットワーク選択メカニズムが導入されています。ネットワークの選択は、Androidがアプリとシステムのネットワーク要求をどのように実行するかに影響し、アプリのデフォルトネットワークがどのように選択されるかに影響します。

詳細については、「ネットワークの選択」を参照してください。

通知CallStyle

Android 12以降、着信および進行中の音声通話とビデオ通話には、新しい通知スタイルであるCallStyleを使用することをお勧めします。この通知スタイルには、電話に応答、拒否、および電話を切るためのアクションボタンが含まれています。また、会話で使用されるのと同じ人中心のスタイルを使用します。これは、日陰の上部で通話通知をランク付けする動作と一致しています。

アプリがCallStyle通知スタイルを使用するには、フルスクリーンインテントまたはフォアグラウンドサービス(関連する権限を含む)のいずれかを使用する必要があります。このスタイルは、シェードの上部で通話の通知をランク付けします。進行中の通話の場合、このスタイルはステータスバーにチップを追加して、ユーザーが通話アプリにすばやく戻ることができるようにします。

詳細については、「コール通知」を参照してください。

パスポイントの更新

Android 12には、Passpoint R3と、利用規約、会場情報URL、装飾されたIDプレフィックス、認証解除の差し迫った処理などの他のPasspoint機能が導入されています。

これらの機能の詳細については、 Passpoint(Hotspot 2.0)を参照してください。

クイックアクセスウォレットの更新

Android 12以降では、クイックアクセスウォレット機能は、Android 11のように電源メニューからではなく、シェードから利用できます。ウォレットUIはシステムUIで実行され、 frameworks/base/packages/SystemUI/src/com/android/systemui/walletにあります。 frameworks/base/packages/SystemUI/src/com/android/systemui/wallet

詳細については、クイックアクセスウォレットを参照してください。

簡素化された接続ユーザーエクスペリエンス

Android 12は、ユーザーがネットワーク接続をよりよく理解し、インターネットプロバイダーを切り替え、ネットワーク接続の問題をトラブルシューティングするのに役立つ、オプションの簡略化された接続エクスペリエンスを提供します。

詳細については、接続ユーザーインターフェイスを参照してください。

タイムソースの優先順位

Android 12以降、フレームワークはデフォルトでネットワークIDおよびタイムゾーン(NITZ)ソースよりもネットワークタイムプロトコル(NTP)タイムソースを優先します。

デバイスでタイムソースの優先度を設定およびテストする方法の詳細については、「タイムソースの優先度」を参照してください。

トグルして2Gを無効にします

セキュリティを向上させるために、Android 12では[設定]に2Gトグルが導入され、ユーザーは2Gセルラー接続を完全に無効にできます。この機能には、 Radio1.6HALを実装する必要があります。

2Gトグル機能はデフォルトで有効になっています。キャリアは、CarrierConfigフラグKEY_HIDE_ENABLE_2Gを使用して、実行時に機能を無効にできます。

デバイスメーカーは、緊急通話中にすべてのネットワークが利用可能であることを確認する必要があります。

UICC仕様

Android 12では、CTSキャリアAPIテストを実行するために、デバイスは、サードパーティのGSMATS.48テストプロファイル仕様の最新バージョンで指定された要件を満たすCTSキャリア特権を持つ開発者UICCを使用する必要があります。

詳細については、UICCの準備を参照してください。

Wi-Fi AP/APの同時実行性

Android 12では、Wi-Fi AP / AP同時実行機能が導入されています。これにより、デバイスはブリッジデュアル(AP + AP)テザリングホットスポットを起動できます。

詳細については、「 Wi-Fi AP/AP同時実行」を参照してください。

Wi-Fi/セルラーcoexチャネルの回避

Android 12には、 Wi-Fi /セルラーcoexチャネル回避機能が導入されています。この機能は、セルラーチャネル間に干渉がある場合に、安全でないWi-Fiチャネルの使用を識別して防止します。これには、STA、SoftAp、Wi-Fi Direct(P2P)、Wi-Fi Aware(NAN)などのインターフェイスが含まれます。

Wi-Fiセキュリティプロトコルの機能強化

Android 12では、WPA3 Hash-to-Element(H2E)、WPA2 / WPA3-Enterpriseトランジションモード、およびトランジションディセーブル表示のサポートが導入されています。

詳細については、 WPA3およびWi-FiEnhancedOpenを参照してください。

Wi-Fi STA/STA同時実行

Android 12では、Wi-Fi STA / STA同時実行機能が導入されています。これにより、デバイスは2つのWi-Fiネットワークに同時に接続できます。

詳細については、「 Wi-Fi STA/STA同時実行」を参照してください。

デバイス

Android12の新しい自動車機能

これらの新機能の詳細については、自動車の新機能を参照してください。

画面

信頼できないタッチをブロックする

システムのセキュリティを維持し、優れたユーザーエクスペリエンスを実現するために、Android12では信頼できないタッチイベントをブロックするためのサポートが追加されています。これにより、オーバーレイが安全でない方法でアプリを覆い隠すようなタッチイベントをアプリが消費するのを防ぎます。

会話の通知とウィジェット

Android 11では、通知シェードでの会話通知の動作と配置を優先度とアラートレベルでカスタマイズするためのサポートが追加され、会話を重要としてマークし、会話固有のバブルを会話スペースで起動できるようになりました。これらのAndroid11機能に基づいて、Android 12会話ウィジェット機能を使用すると、ユーザーは重要な連絡先の会話ウィジェットをホーム画面に追加して、通知を待たずに会話を簡単に再開できます。

詳細については、会話通知とウィジェットを参照してください。

ウィンドウブラー

パブリックAPIは、ウィンドウブラー効果(背景のぼかしやぼかしの後ろなど)を実装するためにAndroid12で使用できます。これらのAPIを使用すると、自分のウィンドウの背後にあるものをすべてぼかすことができます。背景がぼやけたウィンドウを作成してすりガラス効果を作成したり、画面全体がぼやけたウィンドウを表示して被写界深度効果を作成したりできます。これら2つを組み合わせることもできます。

この新機能とその実装方法の詳細については、ウィンドウブラーのページを参照してください。

ウィンドウの拡大

Android 12では、ロービジョンユーザーは、ウィンドウ拡大機能を使用して、ディスプレイ上のあらゆるものを拡大できます。ウィンドウの拡大により、ユーザーは画面全体でズーム機能を使用するのとは異なり、画面の選択した部分を拡大できます。選択したウィンドウをディスプレイ全体にドラッグできるため、必要に応じて画面のさまざまな部分を拡大できます。

詳細については、ウィンドウ拡大鏡を参照してください。

企業

デバイス管理の更新

Android 12には、次のデバイス管理アップデートが含まれています。

  • 管理対象プロファイルデータ分離の更新。仕事用プロファイルを持つ個人用デバイスでは、Android 12はデバイスのハードウェア識別子(IMEI、MEID、シリアル番号)へのアクセスを削除し、特定の組織の仕事用プロファイルの登録を識別する一意の登録固有のIDを提供します。詳細については、デバイス識別子を参照してください。

  • デバイスプロビジョニングの更新。 Android 12には、デバイスプロビジョニングに対するいくつかの変更が含まれています。詳細と変更点のリストについては、 Android12のアップデートをご覧ください。

グラフィックス

ComposerHALでのホットプラグ処理

ディスプレイ機能(ディスプレイモードやサポートされているHDRタイプなど)は、Android TVセットトップボックス(STB)やオーバーザトップ(OTT)など、外部接続されたディスプレイ(HDMIまたはDisplayPort経由)を備えたデバイスで動的に変更できます。デバイス。 Android 12以降、フレームワークの変更により、ホットプラグ処理と動的表示機能がサポートされます。

詳細については、ComposerHALのホットプラグ処理を参照してください。

モジュラーシステムコンポーネント

メインラインモジュールの更新

Android 12には、 ARTDeviceSchedulingという2つの新しいモジュールが導入されています。

多くの既存のモジュールはAndroid12で更新されています。詳細については、Android12での更新を参照してください。

美術

Android 12以降は、最新のマネージドランタイムの最適化、機能、バグ修正をユーザーに提供することでAndroidエクスペリエンスを向上させることを目的としたARTモジュールをサポートしています。

デバイスのスケジューリング

Android 12以降は、デバイスがアイドル状態であるかどうかを検出するロジックを含むデバイススケジューリングモジュールをサポートしており、ユーザーが中断することなく再起動できます。

メディア

互換性のあるメディアトランスコーディング

互換性のあるメディアトランスコーディングにより、デバイスは、アプリとの互換性を維持しながら、HEVCなどの最新のストレージ効率の高いメディア形式をビデオキャプチャに使用できます。この機能により、デバイスメーカーはデフォルトでAVCの代わりにHEVCを使用して、ストレージと帯域幅の要件を減らしながらビデオ品質を向上させることができます。詳細については、互換性のあるメディアトランスコーディングを参照してください。

パフォーマンス

アプリの休止状態

Android 12には、権限の自動取り消しと同様に、ユーザーが数か月間使用しないアプリを休止状態にする機能があります。

詳細については、アプリの休止状態を参照してください。

Cgroup抽象化レイヤー

Android 12のコントロールグループ(cgroup)抽象化レイヤーには、特定のcgroupコントローラーをオプションとして定義する機能や、廃止されたwritepidコマンドを置き換える新しいtask_profilesコマンドを使用する機能などの新機能が導入されています。この置き換えにより、cgroup階層内のタスクを移行するときに、基盤となるcgroupの実装が上位層に影響を与えないことが保証されます。 Android 12では、APIレベルごとのタスクプロファイルのサポートも導入されています。

詳細については、 CgroupAbstractionLayerを参照してください。

権限

Bluetoothのアクセス許可

Android 12では、 BLUETOOTHおよびBLUETOOTH_ADMIN権限に代わる次のBluetooth権限が導入されています。

  • BLUETOOTH_SCAN :アプリが近くのBluetoothデバイスを検出してペアリングできるようにします。
  • BLUETOOTH_ADVERTISE :アプリが近くのBluetoothデバイスにアドバタイズできるようにします。
  • BLUETOOTH_CONNECT :アプリがペアリングされたBluetoothデバイスに接続できるようにします。

これらの権限は、新しいNEARBY_DEVICESランタイム権限グループの一部です。このパーミッショングループは、 LOCATIONランタイムパーミッションを必要とせずにスマートウォッチに接続するなどのユースケースを可能にします。

これらの新しい権限はアプリと互換性があり、Android11以下で実行されているアプリに変更を加える必要はありません。 Android 11以下を対象とするレガシーアプリの場合、プラットフォームはレガシーBluetooth権限のリクエストを新しい権限のリクエストに自動的に変換します。アプリがAndroid12以降をターゲットにアップグレードする場合、アプリは新しいBluetooth権限を明示的に要求する必要があります。

アクセス許可の使用の詳細については、 Bluetoothのアクセス許可を参照してください。

プライバシー指標

Android 12は、アプリがカメラとマイクのアプリ操作権限を介してプライベートデータソースを使用するときにインジケーターを表示することで、ユーザーに透明性を提供します。

App Opsは、アクティビティステータスと個々のAPI呼び出しの数の両方を追跡し、Android 12のマイクとカメラのインジケーターを操作して、アプリがデバイスのオーディオとカメラのデータにアクセスしたことをユーザーに示します。ユーザーがマイクまたはカメラのインジケーターをクリックすると、データにアクセスしたアプリが表示されます。

この機能はすべてのOEMに必須です。詳細については、プライバシーインジケータを参照してください。

位置

Android 12以降、ユーザーは、アプリが位置情報にアクセスするときに、おおよその精度のみを取得するように要求できます。

この変更は、Android12以降を対象とするアプリにのみ影響するように設計されています。ただし、古いバージョンの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-CECControlServiceを参照してください。

チューナーフレームワーク

Android 12の場合:

  • Tuner HAL 1.1以降のフロントエンドは、DTMBDTV標準をサポートしています。次のフロントエンド機能と設定がサポートされています。

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • Tuner SDK APIは、Tuner1.0の下位互換性のあるバージョンアップグレードであるTunerHAL1.1の新機能をサポートします。

  • 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更新を行うことができるため、ユーザーにセキュリティと利便性を追加します。Android12マルチクライアントとサーバーベースの更新機能は、デバイスのハードウェアレベルのタイプのセキュリティを提供します。

詳細については、 Resume-on-Rebootを参照してください。

RoRを使用したSIMPINリプレイ

Android 12は、RoRによって開始された再起動後のシームレスなPINコード検証のためのSIM-PINリプレイを備えています。SIMPINは、ユーザーが正常に有効化、検証、または変更するたびに再暗号化および保存されます。

詳細については、 SIM-PINリプレイを参照してください。

仮想A/Bアップデート

Android 12は、スナップショットパーティションでの仮想A/B圧縮のオプションを提供します。 Android 12では、ブートローダーが使用しない更新可能なパーティションをスナップショット化して、スペースを節約できます。これらは圧縮することもできます。 Android 12のビルドでスナップショット圧縮を有効にすると、 /dataパーティションのスペースを節約できます。

スナップショット圧縮を使用して仮想A/Bを実装するには、デバイス固有のコードを変更する必要があります。仮想A/Bの概要仮想A/Bの実装のページで変更と実装の詳細を参照してください。