Android 11 リリースノート

このページでは、Android 11 リリースの主な機能の概要を説明し、追加情報へのリンクを掲載しています。これらの機能の概要は、このサイトにおける各機能のドキュメントの場所に従って整理されています。

アーキテクチャ

API 割り当て

Android 11 リリースでは、API 割り当ての機能が導入されています。この機能を使用すると、アプリが特定の API を呼び出す頻度を制限できます。この機能は JobScheduler API の呼び出しでのみ実装されています。プリセットの上限を変更した場合も、それらの変更は引き続き CTS テストに合格する必要があります。API 割り当てを無効または有効にするには、QuotaTracker.javasetEnabled メソッドを使用します。デフォルトは有効です。この機能を無効にすると、アプリはその 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 では、Android カーネルのカーネル内 ABI を安定化するために、ABI モニタリング ツールが導入されています。

汎用カーネル イメージ

Android 11 では、汎用カーネル イメージ(GKI)が導入されています。このイメージでは、カーネルの断片化に対処するために、コアカーネルが統合され、SoC とボードのサポートがコアカーネルから読み込み可能モジュールに移動されています。

モジュラー カーネル

カーネル モジュールのサポート

汎用カーネル イメージ(GKI)には、デバイスでパーティションをマウントするために必要なドライバ サポートが含まれていない場合があります。デバイスがパーティションをマウントして起動を継続できるように、第 1 ステージの init が改良されて、RAM ディスクに存在するカーネル モジュールを読み込むようになりました。RAM ディスクは、汎用の RAM ディスクと、ベンダー RAM ディスクに分割されています。ベンダー カーネル モジュールは、ベンダー RAM ディスクに格納されます。カーネル モジュールを読み込む順序は設定可能です。

DebugFS

Android 11 では、DebugFS のプラットフォーム サポートがなくなり、製品版のデバイスではマウントとアクセスを行わないことが要件となっています。DebugFS はデバッグ用に作成されたものですが、汎用コンポーネントとベンダー固有コンポーネントの usedebug ビルドに含まれていました。DebugFS は以下のような問題があるため、サポートを終了する予定です。

  • 不安定でドキュメントのない API。Android は、Linux カーネル インターフェースと HAL が明確に定義され、安定していることによって、正しく機能しています。VTS テストでは、これらのインターフェースが存在し、正しく動作することが要求されます。ABI が不安定で、ドキュメントもないため、DebugFS の動作を要求に含めることはできません。

  • コードの品質が低い。DebugFS はデバッグ用であるため、debugfs に追加されたノードに対しては、他のファイル システムのような厳格なレビューとテストは行われていません。debugfs でバグが発見された場合、その取り扱いの優先度は低くなるため、debugfs からセキュリティの脆弱性が発生する原因となります。

  • セキュリティの脆弱性。DebugFS は、カーネル デベロッパーによるシステムのデバッグを支援する目的で作成され、セキュリティには重点が置かれていません。現時点では、製品版デバイスで公開された DebugFS ノードがすべて安全であると確認する効率の良い手段はありません。SEpolicy の厳格化によって debugfs に起因するセキュリティの脆弱性の重大度は低下していますが、攻撃対象領域を完全になくすには debugfs のマウントを禁止するしかありません。

Android 11 の VTS では、デバイスのカーネル設定で CONFIG_DEBUG_FS が有効にされておらず、debugfs/proc/filesystems の下に存在しないことが要求されます。

GKI の ION ヒープ

Android 11 では、Android 共通カーネル v5.4 によって、ベンダー固有の ION ヒープをモジュール化するためのフレームワークが導入されていますが、コア ION ドライバは組み込まれたままであり、汎用カーネル イメージ(GKI)を使用する場合、OEM は 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 として公開されているため、AudioRecord または MediaRecorder で音声をキャプチャするときに使用するには特権 android.permission.CAPTURE_AUDIO_OUTPUT が必要です。

オーディオ エフェクト

Android 11 以降では、デバイス メーカーは、特定のオーディオ デバイスが音声キャプチャまたは再生用に選択されている場合、特定のオーディオ エフェクトを自動的にアタッチして有効にすることができます。

デバイスタイプの上限

Android 11 では、音声デバイスタイプの数に関する上限を撤廃して、新しい音声デバイスタイプを追加できようにしました。

実装

オーディオの実装

Android 11 では、以前のバージョンに比べて、サウンド トリガー HAL 実装の実行時における適用が厳格化されています。

Automotive

リリースの詳細

Automotive の新機能と機能強化については、Automotive のリリースの詳細をご覧ください。

USB Port Reset API

Android 11 では、デバイス メーカーが、ホストと USB ガジェットとの接続をリセットする USB Port Reset API を実装できます。

カメラ

カメラのボケ表現

Android 11 以降では、Android プラットフォームで、カメラのボケ表現の実装をサポートしており、サードパーティ アプリで使用できるボケ表現機能の API を提供しています。

カメラのズーム

Android 11 では、アプリから ANDROID_CONTROL_ZOOM_RATIO 設定でカメラのズーム(デジタルズームと光学式ズーム)を使用できます。この設定は浮動小数点値であるため、整数値を使用する ANDROID_SCALER_CROP_REGION よりも精密に設定でき、1.0f 未満を指定すればズームアウトも可能です。

同時カメラ ストリーミング

Android 11 以降の Camera2 API には、カメラで同時ストリーミングがサポートされているかどうかを判別するメソッドと、サポートされているストリーム設定を取得できるメソッドが用意されています。これらのメソッドはアプリから呼び出し可能です。

Android Virtual Device のカメラサポートの強化

Android 11 では、CuttlefishAndroid Emulator の仮想デバイスに、強化された Camera HAL のエミュレート実装が導入され、次のカメラ機能のサポートが追加されています。

  • RAW 撮影
  • YUV 再処理
  • レベル 3 デバイス
  • 論理カメラのサポート
  • 深度専用カメラのサポート

このエミュレートされたカメラ HAL は、/platform/hardware/google/camera/devices/EmulatedCamera/hwl にあります。

マルチカメラに関するベスト プラクティス

アプリの互換性を保ちつつ、マルチカメラに特有の機能を最大限に活用するには、ベスト プラクティスに沿って論理マルチカメラ デバイスを実装するようにしてください。これには、Android 11 で導入された ANDROID_CONTROL_ZOOM_RATIO API の使用に関するベスト プラクティスが含まれています。

システムカメラ

Android 11 では、android.permission.SYSTEM_CAMERA 権限によるシステムカメラのサポートが追加されています。システムカメラにより、特権アプリやシステムアプリでは使用できても、サードパーティの公開アプリでは使用できないカメラ機能を実装できます。

互換性

Android 11 互換性定義ドキュメントでは、以前のバージョンをアップデートする際に互換性を保つための各種要件について定めています。

接続性

Bluetooth と NFC

NFC のオフホスト支払い同期

Android は、オフホスト カード エミュレーション用に、セキュア エレメントを使用した NFC カード エミュレーションをサポートしていますが、タップ&ペイの設定で指定した優先支払いサービスが常にセキュア エレメント内のアプリと同期されるとは限りません。

Android 11 では、オフホスト支払い同期にある上記の問題に対処しています。オフホスト支払い同期は、タップ&ペイの支払い設定、非接触フロントエンド(CLF)のルーティング設定、セキュア エレメント内のアプリの選択状態を同期する仕組みです。

クイック アクセス ウォレット

クイック アクセス ウォレット機能を使用すると、ユーザーは電源ボタンメニューから支払いカードと関連パスに直接アクセスできます。

通話とメッセージ

緊急通報の動作

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 以降では、EuiccManagereraseSubscriptions メソッドを使用するとき、EuiccCardManager#ResetOption 列挙値を指定して、消去するサブスクリプションのタイプ(テスト サブスクリプション、運用サブスクリプション、またはその両方)を指定する必要があります。

マルチオペレーター ネットワークのサポート

Android 11 を搭載してリリースされるデバイスでは、複数の公衆陸上モバイル ネットワーク(PLMN)をサポートできます。マルチ PLMN のサポートにより、モバイル ネットワーク事業者(MNO)は複数の ID をブロードキャストできるようになり、柔軟な運用が可能になります。

スモールセルのサポート

Android 11 を搭載してリリースされるデバイスでは、セルのクローズド サブスクライバー グループ(CSG)に関する情報を取得するセル識別 API のメソッドにより、CSG をサポートできます。これは、モバイル ネットワーク事業者(MNO)がクローズド サブスクライバー グループでスモールセルを管理する場合に役立ちます。

Connectivity Diagnostics API

Connectivity Diagnostics API を使用すると、ネットワークを所有または管理するアプリ(携帯通信会社アプリ、VPN アプリ、Wi-Fi サジェスチョン アプリなど)で、診断用のネットワーク接続情報をフレームワークから受け取ることができます。

Open Mobile API の変更

Android 11 では、以下に挙げる Open Mobile API(OMAPI)用の機能が導入されています。

  • 携帯通信会社の特権のルールを解析する機能。
  • 以下の機能(複数可)を使って、組み込みセキュア エレメント(eSE)のアクセス権をカスタマイズ、または eSE をプロビジョニングする機能。

    • SECURE_ELEMENT_PRIVILEGED_OPERATION システム特権
    • 設定可能な Access Rules Application Master(ARA-M)のアプリケーション ID(AID)
    • OMAPI リーダーをリセットする reset システム API
  • デバイスの機能をアプリがフィルタするための明確なインジケーターをリーダーに提供する機能。

信号強度レポート

Android 11 では、フレームワークが使用する各種の信号測定タイプを選択、カスタマイズして、4G LTE および 5G NR の無線アクセス ネットワーク(RAN)の信号強度をレポートできます。レポートされた信号強度を利用することで、デバイス上の信号バーの表示方法を制御できます。

Wi-Fi

携帯通信会社の Wi-Fi ネットワークの設定

Android 11 では、携帯通信会社の設定マネージャーで carrier_wifi_string_array パラメータを設定する代わりに、Wi-Fi Suggestion API を使用して携帯通信会社の Wi-Fi ネットワークの設定を追加することができます。

テザリングの Wi-Fi アクセス ポイント(Soft AP)のサポート

Android 11 では、改良された Wi-Fi アクセス ポイント(Soft 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)の組み合わせを複数デプロイする、1 つの FQDN しか持っていない携帯通信会社にとって便利な機能です。
  • Passpoint R3 のアクセス ポイントを検出し、受け入れることができます。
  • ネットワーク マッチングが次のように改善されています。
    • HomeSP/HomeOIList のホーム プロバイダ マッチングがサポートされます。
    • HomeSP/OtherHomePartners のホーム プロバイダ マッチングがサポートされます。
    • Passpoint の仕様で要求されていない EAP 方式のマッチング要件を削除しています。

Wi-Fi プロファイルのコモンネームのサポートの改善

Android 11 では、携帯通信会社のルート認証局(CA)が変更されても、オプションの Android 拡張サブツリーでコモンネームが指定されていれば、Wi-Fi プロファイルは引き続き有効です。以前のバージョンでは、ルート CA が変更された場合、ユーザーが携帯通信会社から新しいプロファイルをダウンロードする必要があります。

データ

データアクセスの監査

Android 11 では、「データアクセスの監査」が導入されており、アプリや依存関係によるユーザーのプライベート データ(位置情報やカメラデータなど)へのアクセスをアプリ デベロッパーが識別しやすくなりました。複雑な多目的アプリの場合、デベロッパーはアトリビューション タグを定義してアプリの各部分を識別できます。

詳しくは、データアクセスの監査をご覧ください。

表示

バブル通知 API の更新

Android 10 では、ユーザーがデバイスのどこからでも簡単にマルチタスクを行える、バブル通知 API が導入されました。Android 11 では、バブルが強化されています。最も大きな変更点は、バブルがデフォルトで有効になり、開発者向けオプションから設定がなくなった点です。Android プラットフォームでバブルを実装するために必要な作業はありません。

デバイス コントロール

Android 11 で導入されたデバイス コントロール機能により、照明、サーモスタット、カメラなどの外部デバイスを Android の電源ボタンメニューからすばやく表示し、制御できるようになりました。デバイス アグリゲータ(Google Home など)やサードパーティ ベンダーのアプリは、このスペースに表示されるデバイスを指定できます。この機能をサポートするために必要なプラットフォームの実装作業はありません。デフォルトの実装は、AOSP システム UI に含まれています。制御アプリでデバイス コントロールをサポートする方法については、Android デベロッパーの外部デバイスを制御するのページをご覧ください。

テキスト分類の更新

Android 11 では、ExtServices メインライン モジュール内に、テキスト分類サービスの更新可能なデフォルト実装が導入されています。メインライン OTA アップデートで更新できるため、デバイス メーカーにはこの TextClassifierService の実装を使用することをおすすめします。

エンタープライズ

カスタム ユーザータイプの実装

Android 11 では、明確に定義されたユーザータイプという概念が導入されました。これらは、Android マルチユーザー機能で許可されるあらゆるタイプのユーザーを表します。この機能を使用して、OEM は事前定義された AOSP ユーザータイプをカスタマイズし、新しいプロファイル タイプを定義できます。詳しくは、ユーザータイプのセクションをご覧ください。

仕事用プロファイルの改善

Android 11 では、仕事用プロファイルのプライバシーとユーザビリティが、重要なユーザビリティの課題に対応するように強化が含まれています。この改善は、エコシステム全体に一貫性をもって導入することが重要です。

Android をサポートする IT 管理者は、ユーザーが職場に持ち込む Android デバイスでのエクスペリエンスをサポートする必要があります。重要なワークフローの UX の一貫性を改善することにより、BYOD 環境で Android をサポートするコストが大幅に削減されます。すべてのデバイスにプライバシー機能を導入することで、ユーザーの信頼感を高めることもできます。主な更新内容は次のとおりです。

  • アプリのリストに、[個人用]、[仕事用] という別々のタブが導入されます。
  • 仕事用タブでは、仕事用プロファイルをオフに切り替えることができます。
  • 仕事用プロファイルがオフになると、仕事用アプリのアイコンがグレーになり、仕事用アプリが一時停止中であることを示すオーバーレイが仕事用タブに表示されます。

操作

Context Hub Runtime Environment の更新

Android 11 で導入された CHRE API v1.4 では、5G セルの情報とナノアプリのデバッグダンプがサポートされるなどの改善がされています。また、ナノアプリで TensorFlow Lite for Microcontrollers を使用できるようにもなっています。詳しくは、Context Hub Runtime Environment(CHRE)をご覧ください。

ハプティクス

Android 11 では、デバイスにハプティクスを実装し、ハプティクスの性能を評価するための新しいガイドが用意されています。

入力

ゲームパッド

Android 11 では、次のサードパーティのゲーム コントローラのサポートが追加されています。

  • Nintendo Switch Pro コントローラ: Android では、Nintendo Switch Pro コントローラの USB 接続と Bluetooth 接続のサポートを追加しています。すべての実装で CTS テストが必要です。NintendoSwitchProTest を使用して実装を検証してください。

  • Steam コントローラ: Android では、Steam コントローラの USB 接続を追加しています。

ニューラル ネットワーク

ベスト プラクティス

Android 11 を搭載したデバイスに NNAPI ドライバを実装する場合、アプリ デベロッパーはこちらのベスト プラクティスに沿って NNAPI を採用することが推奨されます。

制御フロー

Android 11 では、NNAPI に 2 つの制御フロー オペレーションIFWHILE)が追加されています。これは他のモデルを引数に取り、その条件付き実行(IF)または反復実行(WHILE)を行います。これにより、入力値に基づいて別々のオペレーションを実行するモデルや、複数回のオペレーションを展開することなく実行するモデルを構築できます。

フェンスを使用した実行

Android 11 の NNAPI では、sync_fence ハンドルのリストの取得まで実行を待機するように設定できます。任意で、実行完了時に sync_fence オブジェクトを返すように設定することもできます。これにより、小さいシーケンス モデルとストリーミングのユースケースでオーバーヘッドが減少します。また、実行にフェンスを使用することで、sync_fenceのシグナルを送信または取得まで待機することで、他のコンポーネントとの相互運用性の効率性を向上させることができます。

メモリドメイン

Android 11 以降を搭載するデバイスの NNAPI では、ドライバが管理するバッファのアロケータ インターフェースを提供するメモリドメインがサポートされます。これを使用すると、実行間でデバイスのネイティブ メモリを受け渡しできるようになり、同じドライバでの連続した実行間で不要にデータをコピーまたは変換することが抑制されます。

サービス品質

Android 11 以降の NNAPI では、モデルの相対的な優先度、モデルの準備にかかると想定される最大時間、実行の完了までにかかると想定される最大時間をアプリに知らせることで、サービス品質(QoS)を改善できるようになっています。

符号付き 8 ビット量子化

Android 11 で導入された Neural Network HAL(NN HAL)1.3 では、Neural Networks API で符号付き 8 ビット量子化をサポートしています。詳しくは、Android 11 での NN HAL の更新内容をご覧ください。

テストの改善

Android 11 には、NNAPI ドライバの実装にファズテストを実行するためのテスト ユーティリティと、ドライバに高い負荷を与えた状態で回復性を検証するクラッシュ テストが用意されています。

詳しくは以下をご覧ください。

センサー

ヒンジ角度センサーのタイプ

Android 11 では、デバイスの 2 つの面の角度を測定するセンサーであるヒンジ角度センサーのタイプが導入されています。

センサー Multi-HAL 2.1

Android 11 で利用可能となっているセンサー Multi-HAL 2.1 は、Sensor Multi-HAL 2.0 の後継であり、ヒンジ角度センサーのタイプを取得できるサブ HAL の読み込みをサポートしています。このセンサータイプをサポートするには、2.1 SubHal ヘッダーで定義されているサブ HAL API を使用する必要があります。

メディア

DRM

Android 11 では、MediaDrmService が削除されて、MediaDrm/Crypto IPC パスが簡素化されています。使用可能な DRM プラグインを列挙する、新しい MediaDrm API が追加されています。

MediaCodec での低レイテンシのデコード

Android 11 では、低レイテンシでメディア デコードができる MediaCodec 2.0 が用意されています。これはリアルタイム アプリに重要な機能です。

その他

Android 11 以降の AOSP ギャラリー アプリでは、ACTION_VIEW インテントの application/sdp MIME タイプをサポートする必要がありません。application/sdp MIME タイプの ACTION_VIEW インテント フィルタは、AOSP ギャラリーのアプリ マニフェスト ファイルから削除されました。

これらの要件については、CDD の「3.2.3.1. コアアプリのインテント」をご覧ください。

パフォーマンス

ユーザー空間 lmkd

Android 11 では、メモリの枯渇とパフォーマンスの低下を防ぐ、新しい強制終了戦略が導入されています。

電源

テレビ スタンバイの無操作スリープ

Android 11 では、テレビ スタンバイに無操作スリープという新しい機能が追加されています。これは、ウェイクロックが保持されている場合でも、デバイスがスリープ状態になるまでのユーザーの無操作タイムアウトを設定できる、省電力機能です。

セキュリティ

OEMCrypto

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 が特権と権限をテストするために使用するビルド済みのアプリが 2 つ用意されています。

デバイスで APEX パッケージの管理がサポートされていない場合、またはデバイスがバージョン 10 以前を搭載している場合、事前にビルドされた 2 つのアプリを別途システムにプリインストールする必要があります。

詳しくは、CTS shim パッケージをご覧ください。

CTS のリリースノート

Android 11 には、多数の新しい重要なモジュールの追加とテストの変更があります。

デバッグ

対象範囲別ベンダー ロギング

Android 11 では、新規の HAL である IDumpstateDevice(バージョン 1.1)が追加されています。この HAL で公開している新しいメソッドでは、標準のバグレポートに含まれるベンダーログの範囲をさらに限定するほか、ユーザービルドでベンダー ロギングのオンとオフを切り替えられるようにもします(ユーザービルドのデフォルトはオフです)。これにより、OEM は特定のタイプのバグレポートにどんな情報を含めるかをより細かく管理できるようになります。

GWP-ASan: ヒープ破損の検出

GWP-ASan はネイティブ メモリ割り当て機能であり、解放後の使用のバグとヒープバッファ オーバーフローのバグを、32 ビットと 64 ビットの両方のプロセスで見つけられるようにします。

Android 11 では、システムアプリとプラットフォームの実行ファイルで、GWP-ASan が自動的に有効になります。プラットフォームでは無効にせず、お客様のアプリでは有効にしてください。

更新

Dynamic System Updates(DSU)の機能強化

Android 10 では、Dynamic System Updates(DSU)に対する次のような機能強化が追加されました。

  • 新しいフロントエンドである、ワンクリック DSU ローダ
  • マルチパーティション DSU のサポート
  • セキュリティを強化する OEM 署名付き DSU
  • DSU とデバイスの間の互換性を管理する新しい方法

複数の SKU 用の OTA パッケージ

Android 11 以降では、SKU が異なる複数のデバイスに 1 つの OTA パッケージを使用できます。そのためには、動的フィンガープリントを使用するようにターゲット デバイスを設定し、事前条件と事後条件のエントリがデバイス名とフィンガープリントを含むように、OTA ツールを使用して OTA メタデータを更新する必要があります。

リリース用のビルドへの署名

リリース用のビルドに署名するための CLI コマンドが、Android 11 で変更されました。

ベンダー テストスイート(VTS)11

Android 11 ベンダー テストスイート(VTS)には、カーネルと Hardware Abstraction Layer(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 限定受信システム(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 Input Framework(TIF)により、Android TV へのライブ コンテンツの配信が簡単になり、Android TV を制御したり、ライブテレビの検索とおすすめを実現したりする入力モジュールを作成するための標準 API がメーカーに提供されます。Android 11 では、TIF に 3 つの新しいコンポーネントが追加されています。