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

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

建築

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プロセスにある上位レベルのサービスを使用するため、マイクの使用はシステム ユーザーに起因します。

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

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

Android Rust 言語のサポート

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

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

ブート イメージ ヘッダー

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

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

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を介してフィルター プロパティ値とデフォルト言語を設定し、システム イメージにフィルターを焼き付けずに制限を構成できます。

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

ベンダー RAM ディスクのフラッシュ

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

詳細については、 Fastboot in UserspaceページのFlashing vendor ramdisksを参照してください。

GKI のバージョン管理

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

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

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

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

mm_events stats の利用方法については、 MM Events - Historical Memory Statisticsを参照してください。

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

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パーティションで複数のベンダー RAM ディスクをサポートしています。これらの ramdisk フラグメントは、ベンダー ramdisk セクションで連続して連結されます。ベンダー RAM ディスク テーブルは、ベンダー RAM ディスク セクションのレイアウトと、各ベンダー RAM ディスク フラグメントのメタデータを記述します。

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

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

オーディオ

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

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

詳細については、結合されたオーディオ デバイス ルーティングページを参照してください。

オーディオ HAL V7 の更新

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

詳しくは、オーディオ HAL V7 セクションの更新とオーディオ ポリシーの例をご覧ください。

カメラ

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

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 Image Test Suite リリース ノートを参照してください。

CDD の更新

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

コネクティビティ

5G ネットワークのスライス

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

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

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

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

許可を与えるプロンプトが表示されている電話のスクリーンショット

バンドルされたアクセス許可は、デバイスが接続されるとコンパニオン アプリに付与され、デバイスが関連付けられている間のみ持続します。アプリを削除するか、関連付けを削除すると、アクセス許可が削除されます。

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

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

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

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

IMS 単一登録

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

詳しくは、 IMS 単一登録を参照してください。

場所のタイムゾーンの検出

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 以降、フレームワークはデフォルトで Network Identity and Time Zone (NITZ) ソースよりも Network Time Protocol (NTP) タイム ソースを優先します。

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

切り替えて 2G を無効にする

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

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

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

UICC 仕様

Android 12 で CTS キャリア API テストを実行するには、サードパーティの GSMA TS.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 チャネルを特定して使用を防止するWi-Fi/セルラー coex チャネル回避機能が導入されています。これには、STA、SoftAp、Wi-Fi Direct (P2P)、Wi-Fi Aware (NAN) などのインターフェイスが含まれます。

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

Android 12 では、WPA3 Hash-to-Element (H2E)、WPA2/WPA3-Enterprise 移行モード、Transition Disable 表示のサポートが導入されています。

詳細については、 WPA3 と Wi-Fi Enhanced Open を参照してください。

Wi-Fi STA/STA 同時実行

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

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

デバイス

Android 12 の新しい自動車機能

これらの新機能の詳細については、Automotive What's Newを参照してください。

画面

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

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

会話通知とウィジェット

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

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

ウィンドウのぼかし

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

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

ウィンドウの拡大

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

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

企業

デバイス管理の更新

Android 12 には、次のデバイス管理の更新が含まれています。

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

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

グラフィック

Composer HAL でのホットプラグ処理

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

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

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

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

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

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

美術

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

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

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

メディア

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

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

パフォーマンス

アプリの休止状態

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

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

Cgroup 抽象化レイヤー

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

詳細については、 Cgroup 抽象化レイヤーを参照してください。

権限

Bluetooth 権限

Android 12 では、 BLUETOOTHおよびBLUETOOTH_ADMIN権限を置き換える次の Bluetooth 権限が導入されています。

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

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

これらの新しいアクセス許可はアプリと互換性があり、Android 11 以前で実行されているアプリには変更は必要ありません。 Android 11 以前をターゲットとするレガシー アプリの場合、プラットフォームはレガシー Bluetooth パーミッションのリクエストを新しいパーミッションのリクエストに自動的に変換します。アプリが Android 12 以降を対象とするようにアップグレードする場合、アプリは新しい Bluetooth アクセス許可を明示的に要求する必要があります。

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

プライバシー指標

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 1.0 の下位互換性のあるバージョン アップグレードである、Tuner HAL 1.1 の新機能をサポートしています。

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion()は、実行中の HAL バージョンをチェックします。

アップデート

APEX圧縮

Android Pony EXpress コンテナー (APEX) への更新がインストールされると、そのプレインストールされたバージョンは使用されなくなりますが、同じ量のメモリ スペースを占有します。その占有スペースは引き続き使用できません。 Android 12 では、APEX 圧縮は、読み取り専用パーティション ( /systemパーティションなど) で高度に圧縮された一連の APEX ファイルを使用することで、このストレージへの影響を最小限に抑えます。 Android 12 での APEX 圧縮については、圧縮された APEX を参照してください。

レジューム オン リブートのセキュリティと利便性

Android 12 では、強化されたマルチクライアント サポートとサーバーベースの再起動機能が導入されています。 Resume-on-reboot (RoR) プロセスは、デバイスのアイドル時間中に OTA 更新を行うことができるため、セキュリティと利便性をユーザーに提供します。また、Android 12 のマルチクライアントとサーバーベースの更新機能は、デバイスのハードウェア レベル タイプのセキュリティを提供します。

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

RoR による SIM PIN リプレイ

Android 12 は、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 の実装のページをご覧ください。