Android 17 リリースノート

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

アーキテクチャ

ION のサポート終了

ION をサポートするすべてのカーネルが 2025 年 12 月にサポート終了を迎えるため、ION メモリ アロケータはどの Android バージョンでもサポートされなくなりました。ION を使用しようとするベンダーコードはすべて失敗します。ION を使用するベンダーコードをすべて削除します。

音声

Audio Managed SCO の再アーキテクチャ

Android 17 以降でデバイスが Audio Managed 同期接続指向(SCO)の再アーキテクチャを採用する場合、Android 音声フレームワークは SCO 管理機能を使用して SCO ルーティングを管理します。以前は、Bluetooth(BT)フレームワークがこのルーティングを処理していました。詳細については、オーディオ マネージド SCO の再アーキテクチャをご覧ください。

自動車

スケーラブル UI による高度なウィンドウ表示

Android 17 以降では、スケーラブル UI を使用して、車内で洗練された動的なマルチパネルのユーザー エクスペリエンスを構築します。WindowManager 不変条件を追加し、セットアップ ウィザードを設定し、システムバーとナビゲーション バーをカスタマイズします。詳しくは、スケーラブル UI を使用した高度なウィンドウ処理をご覧ください。

ソフトウェア定義自動車

Android 17 以降では、ソフトウェア定義車両(SDV)を使用できます。SDV は、ソフトウェアを使用して車両の運用における構築、制御、管理、強化で重要な役割を果たします。SDV は、ソフトウェア アップデートを通じて進化できる、接続された適応可能なプラットフォームに車両を変革します。詳細については、ソフトウェア定義車両をご覧ください。

互換性

音声マルチチャンネルの入出力をテストする

Android 17 では、オーディオのマルチチャンネル入力と出力に関する CTS 検証ツールテストが導入されています。これらのテストの実行については、オーディオのマルチチャンネル入力とマルチチャンネル出力をテストするをご覧ください。

CTS-V テストを実行する

Android 17 では、デフォルトのブラウザの役割を付与するために、追加の CTS-V セットアップ手順が必要です。この手順については、CTS-V テストを実行するをご覧ください。

距離測定の精度、通信、ホストサイドのインタラクティブ テストを実行する

Android 17 には、半自動化されたテストである CTS-V インタラクティブ テストが含まれています。このテストでは、テスト対象デバイス(DUT)で手動の手順をいくつか実行する必要があります。

インタラクティブ テストに加えて、手動の距離測定精度テストと通信テストをマルチデバイス テストに変換しました。Wi-Fi 接続テストが必要です。これらのテストのセットアップと実行については、ホスト側テストを実行するをご覧ください。

USB ホストサイドのインタラクティブ テストを実行する

Android 17 には、実行に Wi-Fi 経由の adb を必要とする USB CTS-V ホスト側テストが含まれています。これらのテストのセットアップと実行については、USB ホスト側テストを実行するをご覧ください。

メディアテストを実行する

Android 17 には、CTS-V メディア再生テストが含まれています。詳しくは、CTS 検証ツールのメディア再生テストを実行するをご覧ください。

オーディオ ワークロード テストを実行する

Android 17 には、CTS-V オーディオ ワークロード テストが含まれています。このテストの実行について詳しくは、CTS 検証ツールのオーディオ ワークロード テストを実行するをご覧ください。

音声テストの更新

Android 17 では、次のオーディオ テストのアップデートが導入されています。

  • USB オーディオ アダプターの推奨リストに USB-C - 3.5 mm オーディオ アダプターを追加。詳しくは、推奨 USB オーディオ アダプターをご覧ください。
    • Google(ベンダー ID: 0x18D1、プロダクト ID: 0x5025)
    • Xumee(ベンダー ID: 0x3302、プロダクト ID: 0x56C5)
  • CTS 検証ツールの Pro Audio テストから HDMI 要件を削除します。詳細については、CTS 検証ツールの Pro Audio テストをご覧ください。

Camera ITS の更新

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

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

Android 17 互換性定義ドキュメント(CDD)は、Android 17 のアップデートとともにリリースされます。

接続

プレミアム ネットワーク接続への OTT 通話の自動ルーティング

Android 17 では、オーバー ザ トップ(OTT)の音声通話とビデオ通話のプレミアム ネットワーク接続への自動ルーティングがサポートされています。この機能により、アプリのネットワーキング スタックを変更することなく、音声通話とビデオ通話のトラフィックを、プレミアム 5G スライスやプレミアム 4G PDN 接続などの専用のプレミアム ネットワーク インターフェースに自動的に誘導できます。詳細については、OTT 音声と動画の 5G スライシング自動ルーティングをご覧ください。

製品ラインナップ: 帯域外仕様の更新

Android 17 では、アウトオブバンド(OOB)仕様のバージョン 2バージョン 3 が導入されています。

バージョン 2 には次の変更が含まれています。

バージョン 3 には次の変更が含まれています。

ディスプレイ

デスクトップ ウィンドウ

Android 17 以降では、ディスプレイごとにデスクトップ ウィンドウを有効にできます。詳しくは、デスクトップ ウィンドウシステム デコレーションのサポート推奨事項をご覧ください。

大画面のアプリの互換性

Android 17 では、大画面アプリの互換性オーバーレイの config_isCameraCompatSimulateRequestedOrientationTreatmentEnabledconfig_isCameraCompatSimReqOrientationLandscapeTreatmentEnabledconfig_enableSelfKillRecoveryBetweenInternalDisplays 設定が導入されています。詳しくは、大画面アプリの互換性設定ガイドをご覧ください。

メディア

VVC のサポート

Android 17 は、デコード シナリオ向けの動画エンコード標準である Versatile Video Coding(VVC)をサポートしています。Android プラットフォームはフレームワークとパーサーのサポートを提供しますが、VVC デコードを有効にするには、SoC ベンダーまたは OEM がソフトウェアまたはハードウェアのデコーダを提供し、OEM がデコーダを有効にして Android メディア サブシステムに適切に登録する必要があります。詳細については、VVC サポートをご覧ください。

パフォーマンス

健全性に関する一般情報を収集する

下取りモードでのシステム健全性診断を改善するため、Android 17 ではカメラのジオメトリと UICC スロットの情報が追加されています。これらのフィールドの例については、システムの健全性に関する情報を取得するをご覧ください。

メモリ リミッター

メモリ リミッターは、Linux cgroup v2 を使用してアプリ プロセスのメモリ使用量をモニタリングし、制限するシステム サービスです。メモリ リミッターは、個々のアプリが過剰なシステムメモリを消費するのを防ぎ、システム全体のメモリ負荷を軽減し、重要なプロセスの積極的なメモリ不足(OOM)強制終了を防ぎます。詳細については、メモリ制限ツールをご覧ください。

メモリ管理デーモン

Android 17 以降は、ZRAM 関連のメンテナンス タスクの構成と管理を行うシステム デーモンであるメモリ管理デーモン(mmd)をサポートしています。詳細については、メモリ管理デーモンをご覧ください。

プロセス メモリ ガーディアン デーモン

プロセス メモリ ガーディアン デーモン(PMGD)は、プロセスごとにメモリ使用量を積極的に管理することで、システムの健全性とユーザー エクスペリエンスを保護します。このデーモンは、特定のターゲット プロセスにメモリ上限を適切に適用し、分離されたメモリリークやスパイクがシステム全体のパフォーマンス低下を引き起こさないことを確認することで、デバイス全体の安定性を向上させます。詳細については、プロセス メモリ ガーディアン デーモンをご覧ください。

権限

連絡先ピッカー

Android 連絡先選択ツールを使用すると、アプリ デベロッパーは連絡先の完全な権限を必要とせずに、ユーザーが選択した連絡先の詳細を取得できます。このアプローチは、データの透明性と最小限の権限フットプリントに対する Android の取り組みに沿ったものです。

連絡先選択ツールの主な機能は次のとおりです。

  • プライバシーを優先した共有: アプリに選択したデータへの読み取りアクセスのみを許可します。
  • 標準化された UI: 組み込みの検索、プロファイルの切り替え、複数選択により、一貫したユーザー エクスペリエンスを提供します。
  • 下位互換性: Android 17 以降をターゲットとするアプリのレガシー Intent.ACTION_PICK リクエストを自動的に引き継ぎます。

詳しくは、Android 連絡先選択ツールをご覧ください。

位置情報インジケーター

Android 17 では、ステータスバーにリアルタイムの位置情報インジケーターが導入され、カメラとマイクの使用状況で既に利用可能なプライバシーの透明性が拡大されています。システム以外のアプリがフォアグラウンドでデバイスの位置情報にアクセスすると、専用のアイコンが表示され、永続的なドットに切り替わります。ユーザーはドットをタップして、どのアプリがデータをトラッキングしているかを確認できます。詳しくは、プライバシー インジケーターをご覧ください。

セキュリティ

ハードウェアでラップされた鍵の改善

Android 17 以降では、既存のハードウェアでラップされた鍵のストレージ暗号化機能の実装が簡素化されています。

簡略化された実装では、KeyMint ではなく Linux カーネル ioctl を使用して、ハードウェア ラップされたインライン暗号鍵を生成、インポート、準備します。Linux カーネルは、これらのオペレーションを実行するためにキー ラッピング ハードウェアと通信します。

これにより、これらのオペレーションで KeyMint が不必要に関与することがなくなるため、設計が簡素化されます。また、アップストリームの Linux カーネルとの互換性も実現しています。

ハードウェアでラップされた鍵の実装者は、新しい Linux カーネル ioctl のサポートを追加する必要があります。

その後、fstab で wrappedkey_v0 の代わりに wrappedkey を使用して、新しい実装を有効にします。これにはディスク上の形式の変更が含まれるため、新しくリリースされるデバイスにのみ適用されます。すでに wrappedkey_v0 を使用しているデバイスは、引き続き wrappedkey_v0 を使用する必要があります。

Android 17 以降でリリースされるデバイスでのみ使用される KeyMint 実装は、TAG_STORAGE_KEY または convertStorageKeyToEphemeral をサポートする必要はありません。この機能は、Linux カーネルの ioctl に置き換えられました。KeyMint は他の目的で使用され続けます。

詳細については、ハードウェア ラップされた鍵をご覧ください。

ロック画面のレート制限 UX

Android 17 以降では、以前のバージョンよりも強力なデフォルトのロック画面レート制限が使用されます。まれにロック画面のタイムアウトが長くなることがあるため、Android 17 以降では、ロック画面でユーザー フィードバックが強化されています。

  • 時刻の形式が改善: 1 分以上のタイムアウトがロック画面に表示される際、1800 秒後に再試行ではなく30 分後に再試行のように、より大きな単位で表示されるため、読みやすさが向上します。
  • 復元用の短縮リンク: ロック画面に短縮リンク(デフォルトは g.co/android/unlock)が表示され、ユーザーが別のデバイスで復元オプションを見つけられるようになります。このリンクは、config_lockscreenLockoutShortlink リソースで構成できます。
  • 重複した試行のフィードバック: Weaver 実装を備えたデバイスでは、重複した不正な推測が入力されたときに、システムが一意のメッセージを表示します。Gatekeeper 専用デバイスでは、不正解やその他の検証失敗に対する個別のレスポンス コードが提供されないため、この特定のフィードバックは利用できません。
  • 一貫した認証情報入力管理: デバイスが PIN 認証情報を使用している場合、ロック画面はパスワードやパターン認証情報の入力と同様に PIN 入力パッドを無効にします。

LockPatternUtils#getLockoutAttemptDeadline(int) メソッドの名前が LockPatternUtils#getLockoutEndTime(int) に変更され、システム管理キャッシュからロックアウトの終了時刻が提供されるようになりました。このアップデートでは、LockPatternUtils インスタンスごとにのみキャッシュに保存され、別のインスタンスを使用してトリガーされた場合にアクティブなタイムアウトが誤って表示されない問題を解決します。ロック画面や設定アクティビティなどのシステム認証情報のプロンプトのデベロッパーは、それらを更新して、既存のタイムアウトを確認してから、それ以上の試行を許可する必要があります。

詳細については、レート制限をご覧ください。

ポリシーの互換性

Android 17 以降では、リリースにあたってポリシーの互換性に記載されている内容に該当するデバイスは、memfd_class ポリシー機能を有効にし、共有メモリに関連するポリシーを更新して memfd_file クラス オブジェクトをサポートする必要があります。

セキュア エレメントの事前ウォーミング

Android 17 以降では、Weaver HAL インターフェースにセキュア エレメントを事前ウォーミングするメソッドが含まれています。このメソッドをサポートする Weaver HAL が存在する場合、ロック画面の PIN、パターン、またはパスワードの入力が開始されると、Android は事前ウォーミング メソッドを呼び出します。この方法では、セキュア エレメントとその電源管理の実装に応じて、ロック画面の PIN、パターン、パスワードの確認のレイテンシを最大 200 ミリ秒短縮できます。

Weaver HAL 実装者は、パフォーマンスが向上する場合にこのメソッドをサポートできます。詳細については、IWeaver#warmUp() をご覧ください。

設定

ビルドエラーのトラブルシューティング

Android 17 以降では、AOSP ソースツリーは読み取り専用です。実行中のビルドがプロダクト構成中、またはビルドの他の部分でソースツリーを変更しようとすると、ビルドは失敗し、読み取り専用ファイル システムのエラーが報告されます。

この問題を解決するには、ソースツリーを読み取り / 書き込みに設定します。詳細については、ビルドエラーのトラブルシューティングをご覧ください。