Android 16 リリースノート

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

音声

設定可能なオーディオ ポリシーのサポート

HIDL HAL では、Android ベンダーがオーディオ ルーティングのルールを指定するために、設定可能なオーディオ ポリシー(CAP)という別のアプローチを使用できます。これは、スマートフォンで使用されるデフォルト エンジンよりも柔軟性があります。AIDL HAL に移行する際、リソース不足のため、Android 14 と 15 では CAP のサポートは実装されませんでした。Android 16 では、不足している AIDL 定義を提供し、フレームワークによる CAP 構成の読み込みメカニズムを変更することで、この問題を修正しました。詳しくは、AIDL HAL での構成可能なオーディオ ポリシーのサポートをご覧ください。

パートナーがプロダクトの移行をスムーズに行うことができるよう、CAP AIDL 実装を活用するように Cuttlefish Auto ターゲットを変換しました。

アーキテクチャ

汎用ブートローダー(GBL)

Android 16 では、新しい汎用ブートローダー(GBL)がサポートされます。GBL は、標準化された更新可能なブートローダーで、Android 起動プロセスを合理化するよう設計されています。

GBL について詳しくは、汎用ブートローダー(GBL)の概要をご覧ください。

16 KB ページサイズ

Android 16 では、スレッド ローカル ストレージ(TLS)にメモリ最適化が実装されています。basename() 関数と dirname() 関数のバッファは、メインの TLS リージョンから分離され、初回使用時にのみ割り振られる専用のメモリページになりました。この変更により、特に 16 KB ページサイズのシステムでメモリが大幅に節約されます。これは、初期スレッド メモリページ内で約 8 KB が解放されるためです。この最適化により、全体的なメモリ使用量を削減できるだけでなく、新しいページを必要とする前にスタックを拡張するためのスペースが増えるため、スタック拡張によるページ フォールトを減らすことができます。4 KB ページサイズを使用するシステムでも、メモリが節約されます。

16 KB ページサイズの詳細については、16 KB ページサイズをご覧ください。

互換性

Camera ITS の更新

Android 16 では、カメラ画像テストスイート(ITS)が更新されています。詳しくは、以下をご覧ください。

互換性定義ドキュメント(CDD)

Android 16 互換性定義ドキュメント(CDD)がリリースされました。

CTS 検証ツール Bluetooth MIDI テストに関する更新

テスト手続きを簡素化して潜在的なエラーを減らすため、Android 16 では USB MIDI 周辺機器なしで CTS-V Bluetooth MIDI ループバック テストを実行できます。

今回の変更に関するドキュメントについては、CTS 検証ツール Bluetooth MIDI テストに関する更新をご覧ください。

CTS 検証ツールの気圧計テストの更新

Android の位置情報機能をサポートするために、Android 16 には新しい CTS-V 気圧計測定テストのセットが含まれています。

この変更に関するドキュメントについては、CTS 検証ツールの気圧計測定テストを参照してください。

CTS 検証ツールのマルチデバイス テストの更新

Android 接続機能をサポートするために、Android 16 には新しい CTS-V テストセットが含まれています。

この変更に関するドキュメントについては、CTS 検証ツールのマルチデバイス テストの更新を参照してください。

接続

Android OS の識別

Android 16 以降、Android フレームワークには Android 情報サービス(AIS)という汎用属性(GATT)サービスが含まれています。これにより、Bluetooth デバイスはサービスの GATT 特性として Android API レベルを読み取ることができます。このサービスにより、Bluetooth デバイス メーカーは、Bluetooth 周辺機器が Android OS を搭載したセントラル デバイスとペア設定されているかどうかを把握し、API レベルに基づいて特殊なロジックを管理できます。

詳細については、Android OS の識別をご覧ください。

緊急通報待機モード

Android 16 では、デバイスが SMS または通話の緊急通報待機モードに入ったときや、緊急通報待機モードから抜けたときに、IMS モジュールがコールバックを介して緊急通報待機モードの状態を取得できるようにする EmergencyCallbackModeListener システム API が導入されています。デバイス メーカーは、この API を使用して IMS 登録管理を実装し、携帯通信会社と 3GPP の要件を満たすことができます。たとえば、ユーザー機器(UE)が緊急通報待機モードの状態にある場合、IMS モジュールは、緊急通報登録を一定期間維持するように設定できます。IMS モジュールは、緊急通報待機モードの状態に応じて、緊急登録の維持、延長、キャンセルも行えます。

IMS サービスの更新

Android 16 では、デバイス メーカーとベンダーが IMS の実装に使用できるシステム API が導入されています。次の表に、特権アプリが IMS サービスをサポートするために使用できる API を示します。

クラス API
MmTelFeature EpsFallbackReason
ImsTrafficType
ImsTrafficDirection
modifyImsTrafficSession
startImsTrafficSession
stopImsTrafficSession
triggerEpsFallback
ImsTrafficSessionCallback すべて
ConnectionFailureInfo すべて
TelephonyManager getImsPrivateUserIdentity
getImsPublicUserIdentities
getImsPcscfAddresses
getSimServiceTable
ImsCallSessionListener callSessionTransferred
callSessionTransferFailed
callSessionSendAnbrQuery
SmsMessage getRecipientAddress

測距モジュール

Android 16 では、超広帯域、Bluetooth チャネル サウンド、Bluetooth RSSI 測距、Wi-Fi ラウンドトリップ時間(RTT)などの測距技術の API を集約する測距モジュールが導入されています。詳しくは以下をご覧ください。

Wi-Fi アクセス ポイントの更新

Android 16 では、Wi-Fi アクセス ポイント(Soft AP)の切断されたクライアントのリストと、各クライアントの切断理由を取得する SoftApCallback#onClientsDisconnected メソッドが導入されています。この機能により、自動車 OEM は投影アプリに必要な仕様を満たすことができ、Android Wi-Fi スタックの構成可能性と機能を強化できます。

SoftApCallback#onClientsDisconnected メソッドを使用するには、テザリングされたアクセス ポイントの場合は WifiManager#registerSoftApCallback、ローカル専用アクセス ポイントの場合は WifiManager#registerLocalOnlyHotspotSoftApCallback を使用して、デバイスの機能を取得するコールバックを登録します。既存の登録済みソフト AP コールバックは、SoftApCallback#onClientsDisconnected メソッドをオーバーライドする必要があります。詳細については、アクセス ポイント API を使ったアプリを開発するをご覧ください。

SoftApCallback を使用するリファレンス AAOS の自動車設定ページ内でテザリングされた Wi-Fi アクセス ポイントの実装例については、WifiTetheringHandler.java をご覧ください。

実装をテストするには、次の単体テストと CTS 検証ツールのテストを実行します。

  • 単体テスト
    • マネージャー: atest packages/modules/Wifi/framework/tests/
    • サービス: atest packages/modules/Wifi/service/tests/wifitests/
  • CTS 検証ツールによるテスト: atest CtsWifiSoftApTestCases

ディスプレイ

デスクトップ ウィンドウ

デスクトップ ウィンドウを使用すると、重なり合うウィンドウを並べ替えたりサイズを変更したりできる使い慣れたインターフェースが提供されるため、生産性が向上します。デスクトップ ウィンドウをサポートする方法については、マルチウィンドウをサポートするをご覧ください。

操作

ハプティクス

Android 16 では、エコシステム内のハプティクスの断片化を減らして、デバイスの個別調整を不要にし、デベロッパーやデバイスのエンドユーザーに対して豊かで表現に富んだモーション エクスペリエンスを提供するための API が導入されています。新しい区分線形エンベロープ(PWLE)API は、同じようなデバイス上で同じような触知覚を生み出す、正規化された PWLE 効果の作成をサポートします。

Android 16 の新しい API がハプティクス機能をどのように改善するかの概要は次のとおりです。

  • 正規化された値のスケールを使うことで、デバイスごとの調整作業を不要にし、開発コストを削減します。
  • エコシステムのために、基礎となるハプティクス プリミティブ(例: CLICKTICKLOW_TICKSLOW_RISEQUICK_RISEQUCK_FALLTHUDSPIN)を作成します。
  • パラメトリック効果(期間、振幅、周波数)の作成と構成をサポートします。
  • ハプティクス オーバードライブの自動保護をサポートします。
  • 触覚と音を組み合わせた多感覚体験を可能にします。
  • Android のハプティクスに関するデベロッパー間の能力のギャップを解消します。

新しい正規化された PWLE API を統合して使って、基本的なハプティクス プリミティブを作成し、新しいデベロッパーもハプティクスを利用できるようにサポートすることをおすすめします。詳細については、PWLE エフェクトを実装するをご覧ください。

心拍数ベースセンサー

Android 16 では、互換性を維持するために、Android フレームワークで心拍数ベースセンターの SENSOR_PERMISSION_READ_HEART_RATE 権限を使用しています。Android 15 以下では、SENSOR_PERMISSION_BODY_SENSORS 権限を使用しています。心拍数ベースセンサーについて詳しくは、心拍数をご覧ください。

メディア

HDR サポート

Android 16 では、HDR サポートが次のように改善されています。

次のことをおすすめします。

  • カメラアプリで HLG または DolbyVision(HLG 対応の 8.4)をデフォルトで有効にする。
  • 写真のウルトラ HDR をデフォルトで有効にする。
  • アプリで HLG 動画およびウルトラ HDR キャプチャをサポートする。

メディア品質フレームワーク

Android 16 では、新しい画像品質と音声品質のフレームワークを設計し、Android テレビの実装用に標準化された API を確立しています。このフレームワークは、Android TV の画質(PQ)と音質(AQ)の調整に統一されたアプローチを提供し、ベンダーの開発を簡素化します。この機能には次の利点があります。

  • ディスプレイ パネルで、ストリーム、ユーザー、入力タイプごとにきめ細かい画質設定を行うことができます。また、すべてのアプリで画面全体に使用できるシステムレベルの設定も可能です。
  • ストリームごと、デバイスごとのきめ細かい音声設定と、すべてのアプリで使用できるシステムレベルの設定

動画コーデック

Android 16 で、Advanced Professional Video(APV)コーデックのプラットフォーム サポートをリリースしました。APV コーデックは、コンテンツ クリエイターが高品質のキャプチャや編集を行えるようにすることを目的とした高ビットレートのフレーム内コーデックです。

また、Google は VP8、VP9、AVC(H.264)のすべてのユーザーを AV1 に移行することも計画しています。アプリ デベロッパーは、バックエンドでのコード変換を回避して遅延を軽減させるため、次世代のコーデックである AV1 を希望しています。なお、AV1 ソフトウェア コーデックのサポートは改善されましたが、特にエンコードでは、ハードウェア コーデックが推奨されます。

品質、信頼性、同時性が高いものについては AV1 を使用し、カメラアプリやギャラリー アプリでは APV のサポートをご検討ください。

パフォーマンス

下取りモード

Android 16 では下取りモードが導入されました。デベロッパーや販売パートナーが出荷時設定へのリセット後にシステムの健全性を確認しやすくなります。

詳しくは、システムの健全性に関する情報を取得するを参照してください。

権限

Android ロールの更新

Android 16 では、次のロールが更新されています。

  • COMPANION_DEVICE_APP_STREAMING: スマートフォンやタブレットなどの Android 搭載デバイスからデスクトップ パソコンやノートパソコンへのストリーミング、キャスト、ミラーリングを可能にするアプリのストリーミング、キャスト、ミラーリングのユースケース。

  • COMPANION_DEVICE_NEARBY_DEVICE_STREAMING: スマートフォンやタブレットなどの Android デバイスからコネクテッド ビークル アプリや XR デバイスへのアプリ ストリーミングなどのユースケース。

詳しくは、Android のロールをご覧ください。

セキュリティ

モバイル セキュリティ

Android 16 では、[SIM 設定] にある2G 接続の切り替えの UX がマイナーチェンジされ、他の設定と整合性がとられるようになりました。Android 16 では、[セーフティ センター] の [設定] に、モバイル セキュリティ機能専用の [モバイル ネットワーク セキュリティ] セクションも追加されています。

デバイスの完全性

Android 16 では、KeyMint バージョン 4.0 構成証明証明書のサポートが追加されました。読み込まれた APEX モジュールの整合性を検証するため、KeyMint 4.0 証明書には KeyDescription 構造に新しい moduleHash フィールドが含まれています。

詳細については、鍵構成証明と ID 構成証明をご覧ください。

ストレージ

デフォルトの連絡先のアカウント

Android ユーザーがデバイスを切り替える際に、いくつかの連絡先情報が失われます。連絡先が失われないようにするために、Android 16 では連絡先のデフォルトのアカウントという概念が導入されています。この機能をサポートするために、連絡帳アプリでは以下のことが求められます。

  • 連絡先が徐々に失われることを避けるために、クラウド同期のオプションを促進する
  • ローカルと SIM の連絡先をクラウド上のデフォルトのアカウントに移行するかどうか、ユーザーに確認する
  • ローカルと SIM の連絡先を新たに作成しないようおすすめする

アップデート

シームレス アプリ アップデート

アップデート中、パッケージは停止され凍結状態になります。これはコードとリソースの変更中に、実行されないようにするための措置です。Google Play 開発者サービスなど、大規模かつ複雑でシステムにとって不可欠なアプリの場合、パッケージが凍結状態になると、依存アプリが実行不能となり、ユーザーの利便性が損なわれる可能性があります。

Android 16 では、dexopt または dex2oat をインストール プロセスの初期段階に移すことによって、アプリが実行不能になる時間を短縮しています。この変更により、アプリが凍結状態となる時間が数秒から数十ミリ秒に短縮されます。

仮想化

Android 16 では、Android 仮想化フレームワーク(AVF)と保護された KVM(pKVM)ハイパーバイザの機能が拡張されています。たとえば、仮想マシン(VM)内の OS アップデートの改善や、Linux ターミナルの導入などです。AVF の主な変更点は次のとおりです。

  • AVIF 低レベルネイティブ開発キット(LL-NDK)のサポート。Android 16 では、ベンダーは Google 管理の AVF を使用してベンダー パーティションから VM を起動できます。
  • 早期ブート VM のサポート。AVF を使用すると、VM を起動プロセスの早い段階で実行できるため、KeyMint ハードウェア抽象化レイヤ(HAL)などの重要なペイロードにメリットがあります。
  • Microdroid のアップデート。Microdroid には、サイズ変更可能な暗号化ストレージと 16K 保護 VM のサポートが含まれており、パフォーマンスが向上しています。
  • Linux ターミナルのサポート。Ferrochrome は、仮想マシン内に Debian ベースの Linux ターミナルを導入します。
  • Arm A プロファイルのゲスト ファームウェア フレームワーク(FF-A)のサポート。pKVM は、保護された VM 用に TrustZone との FF-A 標準化された安全な通信をサポートしています。
  • 保護された VM の更新。標準の信頼できるアプリケーション(TA)用の Trusty OS を使用すると、保護された VM で TrustZone 信頼できるアプレットを実行して、分離と更新性を強化できます。
  • ベンダー固有の安全なモニタ呼び出し(SMC)のサポート。ベンダー固有の SMC を含む既存のコードを pVM に移動できます。
  • デバイスの割り当ての更新。Android 16 では、プラットフォーム デバイスを pVM に割り当て、ハードウェアに直接アクセスできるようになりました。
  • 保護されていないゲスト パリティのサポート。保護されていないゲストは、完全なメモリ管理ユニット(MMU)通知サポートと、Android アプリのような固定されていないメモリを備えています。
  • ハイパーバイザ トレースに関する更新。Android 16 には、構造化ロギング イベントと改善された関数トレース機能が含まれています。

これらの変更の詳細については、Android 仮想化フレームワークをご覧ください。