Android 17 がリリースされました

所要時間: 13 分
Matthew McCullough
Android デベロッパー プロダクト マネジメント担当バイス プレジデント

本日、Android 17 をリリースし、サポート対象のほとんどの Google Pixel デバイスでご利用いただけるようにしました。今後数か月以内に、Android 17 を搭載した新しいデバイスがリリースされる予定です。

AfD-Android-17.gif

Android 17 は、アプリを中心としたインテリジェンス システムへの移行の始まりです。Android は、大画面のサイズ変更を必須にすることで、アダプティブ ファーストの開発基準に移行すると同時に、次世代のプライバシー、セキュリティ、メディア、カメラ、パフォーマンスを提供します。この投稿では、そのすべてについて説明します。また、アプリがこの機会を活かせるよう、次世代のツール、ライブラリ、エージェント スキルを統合する方法についても説明します。

昨年 1 年間、Canary チャンネルからベータ版リリースまで、デベロッパー コミュニティの皆様と協力して、皆様と皆様のユーザーが信頼できるプラットフォームを構築してきました。その一環として、本日、Android オープンソース プロジェクト(AOSP)でソースコードが利用可能になりました。これにより、ソースコードを調べて、Android の仕組みをより深く理解できるようになります。

Android 17 について詳しく見ていきましょう。

インテリジェンス システム

ハードウェア、ソフトウェア、AI の緊密な統合により、Android はオペレーティング システムからインテリジェンス システムへと変革を遂げます。ユーザーのニーズを予測して役立つ新しいエクスペリエンスを提供することで、アプリのエンゲージメントを高める機会を増やします。そのため、Android 17 では、対応する Jetpack ライブラリを備えたプラットフォーム API である AppFunctions の機能が拡張されています。これにより、アプリの独自の機能を、Model Context Protocol のオンデバイス版である Android MCP のオーケストレーション可能な「ツール」として提供できます。AI エージェントやアシスタント(Google Gemini など)は、AppFunction を検出して実行し、アプリのローカル状態に直接アクセスしてユーザーに代わってワークフローを実行できます。

現在アルファ版の Jetpack ライブラリを使用すると、クラスにアノテーションを付け、KDoc コメントを追加するのと同じくらい簡単に AppFunctions を追加できます。

/**
 *   A note app's [AppFunction]s.
 */
class NoteFunctions(
    private val noteRepository: NoteRepository
) {
    /**
     *   Adds a new note to the app.
     *
     *   @param appFunctionContext The execution context.
     *   @param title The title of the note.
     *   @param content The note's content.
     */
    @AppFunction(isDescribedByKDoc = true)
    suspend fun createNote(
        appFunctionContext: AppFunctionContext,
        title: String,
        content: String
    ): Note {
        return noteRepository.createNote(title, content)
    }
}

また、アプリの主要なワークフローを分析し、必要な Kotlin コードを自動的に生成し、LLM ツール呼び出し用に KDoc を最適化し、テストとデバッグ用の ADB コマンドを提供する AppFunctions エージェント スキルもリリースしました。

Gemini の統合は現在、信頼できるテスターによる非公開プレビューの段階ですが、今すぐアプリの準備を始めることができます。AppFunctions を実行するための ADB コマンドに加えて、AppFunctions を検出して実行し、AI エージェントの統合をシミュレートするインターフェースを備えたテスト エージェント アプリも提供しています。goo.gle/eap-af で統合早期アクセス プログラムに参加すると、AppFunctions をいち早く本番環境にデプロイできる可能性があります。

アダプティブ ファースト

ユーザーは単一のフォーム ファクタに依存しなくなり、スマートフォン、折りたたみ式デバイス、タブレット、ノートパソコン、車載ディスプレイ、没入型 XR 環境を切り替えて使用しています。現在、ユーザーが使用している大画面デバイスは 5 億 8,000 万台を超えGooglebooks のリリースも間近に迫っています。Android スタック上に構築された次世代の ChromeOS では、アダプティブは単なる技術的な目標ではなく、エンゲージメントの高いユーザーにリーチする大きなチャンスとなります。これが、Google がアダプティブ ファーストの開発標準に移行する理由の 1 つです。

大画面ではサイズ変更や向きの制限なし

アプリが、接続されたディスプレイでデスクトップ モードで動作するモバイル デバイスを含む、あらゆるフォーム ファクタで優れたユーザー エクスペリエンスを提供できるようにするため、Android 17(API レベル 37)では、API レベル 37 をターゲットとするアプリの大画面デバイス(sw > 600 dp)における向きとサイズ変更の制限に関するデベロッパー オプトアウトが削除されます。システムは、screenOrientationsetRequestedOrientation()resizeableActivity=false、アスペクト比の制約 (minAspectRatio/maxAspectRatio) などの、以前のマニフェスト属性とランタイム API を無視します。ゲーム(Google Play のアプリのカテゴリに基づく)は引き続き除外されます。アプリは、あらゆるウィンドウ サイズに適応し、ユーザーが好むデバイスの姿勢を尊重し、フリーフォーム ウィンドウをネイティブにサポートする準備を整えておく必要があります。

次世代のマルチタスク: アプリのバブル、バブルバー、デスクトップのインタラクティブ PiP

Android 17 では、ユーザーのマルチタスクのあり方を再定義する強力な新しいウィンドウ機能が導入され、アプリのレイアウトの柔軟性がさらに求められるようになります。

  • アプリのバブル: メッセージ バブル API を超えて、ランチャーでアプリアイコンを長押しすることで、任意のアプリをフローティング バブルに変換できるようになりました。この機能はスマートフォン、折りたたみ式デバイス、タブレットで利用でき、あらゆるワークフローで軽量なマルチタスクを実現します。
  • バブルバー: 大画面(タブレットや折りたたみ式デバイス)では、システム タスクバーに専用のバブルバーが追加され、フローティング アプリバブルの整理、切り替え、ドッキングができるようになりました。
  • デスクトップ インタラクティブ PiP: デスクトップ環境では、Android 17 でインタラクティブ ピクチャー イン ピクチャー(PiP)が導入されています。読み取り専用の従来の PiP ウィンドウとは異なり、これらの固定ウィンドウは、他のアプリケーション ウィンドウの最前面に表示されながら、完全にインタラクティブな状態を維持します。
Bubbles (1).gif
アプリバブルとバブルバーの動作

アクティビティの再作成に関する更新

状態の損失やカクつきを回避するため、Android 17 ではアクティビティの再作成のデフォルトの動作が更新されます。システムは、UI の完全な再描画を必要としない一般的な構成変更(CONFIG_KEYBOARDCONFIG_KEYBOARD_HIDDENCONFIG_NAVIGATIONCONFIG_TOUCHSCREENCONFIG_COLOR_MODE など)に対して、デフォルトでアクティビティを再起動しなくなります。

代わりに、実行中のアクティビティは onConfigurationChanged() を介してこれらの更新を受け取り、スムーズな移行が可能になります。これらの変更のためにリソースを再読み込みする際に完全な再起動に明示的に依存しているアプリは、新しい android:recreateOnConfigChanges マニフェスト属性を使用して明示的にオプトインする必要があります。

続行

Android 17 では、ユーザーが Android デバイス間でタスクをシームレスに移行できるように、Continue On が追加されています。タブレットのタスクバーに、モバイル デバイスで最近開いたアプリの候補が表示され、タップ 1 回でアプリを起動して中断した場所へのディープリンクを開くことができます。Continue on は、アプリがインストールされていない場合にウェブの使用にフォールバックするなど、アプリからウェブへの移行をサポートできます。

Continue On.png
タブレットでのハンドオフの候補
class MyHandoffActivity : Activity() {

    ...

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Do stuff
    ...
    // Enable handoff
    setHandoffEnabled(true, null)
  }

  // Override and implement onHandoffActivityDataRequested
  override fun onHandoffActivityDataRequested(handoffRequestInfo: HandoffActivityDataRequestInfo) : HandoffActivityData {
    // Create and return handoff data
  }
}

Jetpack Compose でアダプティブ ファーストを実現する

アプリを新しい Android 17 の要件に適合させるため、Jetpack Compose のアダプティブ スキルをリリースしました。この AI を活用したデベロッパー ワークフローは、アダプティブのベスト プラクティスを実装するのに役立ちます。

  • アダプティブ ナビゲーション: Material 3 アダプティブ ライブラリの NavigationSuiteScaffold を使用して、モバイルの下部ナビゲーション バーと大画面の端に固定されたナビゲーション レールを自動的に切り替えます。
  • マルチペイン レイアウト: 脆弱なフラグメント トランザクションではなく、Navigation 3 Scenes(ListDetailSceneStrategySupportingPaneSceneStrategy)を使用して、リストと詳細、サポートペインのレイアウトをネイティブに実装します。
  • FlexBox と Grid API: Compose 1.11 の動的レイアウト コンポーネントを活用して、行と列のスパンを簡単に調整し、コンテンツが常にスペースを美しく埋めるようにします。
  • 高度な非タッチ入力: Compose 1.11 の強化されたトラックパッドとマウスのサポート(ネイティブ フォーカス リングや、TrackpadInjectionScopeperformTrackpadInput などの新しい API を含む)を活用して、Googlebooks とデスクトップ モードで真の「ノートパソコン クラス」のエクスペリエンスを簡単にテストして提供できます。
  • 動的なウィンドウの状態: Compose のリアクティブな状態モデルを活用して、アプリが全画面表示からフローティング アプリバブルまたはインタラクティブなデスクトップ PiP ウィンドウに切り替わるときに UI をシームレスに適応させ、最小のサイズでも優れたエクスペリエンスを確保します。

Android は Compose ファースト

Compose はアダプティブ アプリを構築する最も簡単な方法を提供します。これは、すべての Android UI を Compose で構築すべきだと考える多くの理由の 1 つにすぎません。そのため、Android 開発は Compose ファーストになりました。すべての新しい Android API、ライブラリ、ツール、デベロッパー ガイダンスは、Jetpack Compose 専用に構築されます。以前の View コンポーネント(android.widget パッケージ内)と View ベースの Jetpack ライブラリ(FragmentsRecyclerViewViewPager など)は、メンテナンス モードになりました。重大なバグの修正のみが行われ、新機能は追加されません。


ヒント 移行の準備はできましたか?Google の AI 駆動型 XML から Compose への移行スキルを使用すると、以前の View レイアウトを自動的に分析し、適応性の高い Compose コードに変換できます。


パフォーマンスと効率性

アプリのパフォーマンスとは、スムーズなユーザー インターフェース、アプリの高速起動、効率的なマルチタスクを意味します。Android 17 では、これらのすべての分野で大きな改善が加えられています。

アプリのメモリ上限

メモリ使用量は、全体的なパフォーマンスの静かな基盤の 1 つです。フォアグラウンド アプリやサービスが制御されずに増大すると、メモリ管理によって CPU とバッテリーの使用率が急上昇し、最終的には、他の正常なキャッシュ保存アプリやバックグラウンド ジョブが終了し、コールド スタートの遅延やマルチタスクの低下につながります。

Android 17 以降では、デバイスの合計 RAM に基づくアプリのメモリ上限が厳格に適用され、違反したプロセスは突然終了します。この厳しい要件に対応するための新しい機能は次のとおりです。

  • R8 オプティマイザー:  R8 オプティマイザーは、クラス、メソッド、フィールドを短い名前に縮小し、未使用のコードとリソースを削除することで、アプリのバイトコードのメモリ使用量を大幅に削減します。新しい R8 構成アナライザーとともに R8 をフルモードで使用して、アプリで R8 を最大限に活用できるようにします。
R8 Configuration Analyzer.png
R8 構成アナライザ
  • Android Studio Panda の LeakCanary: プロファイラに、専用タスクとしてネイティブの LeakCanary 統合が追加されました。IDE とソースコードに完全に統合されています。
  • ApplicationExitInfo: アプリがこれらの制限によって終了した場合、ApplicationExitInfo の getDescription() は「MemoryLimiter:AnonSwap」を返します。
  • オンデバイス異常検出: ProfilingManager の一部として、TRIGGER_TYPE_ANOMALY を使用したトリガーベースのプロファイリングを活用して、メモリ上限に達したときにヒープダンプを自動的にキャプチャできます。
val profilingManager = applicationContext
   .getSystemService(ProfilingManager::class.java)

val triggers = ArrayList<ProfilingTrigger>().apply {
  add(ProfilingTrigger.Builder(
    ProfilingTrigger.TRIGGER_TYPE_ANOMALY).build())
}
profilingManager.addProfilingTriggers(triggers)

また、Google Play Console でより多くのフィールド内メモリ指標を表示できるよう取り組んでいます。

世代別ガベージ コレクション

Android 17 では、ART の並行マーク圧縮ガベージ コレクタ(GC)に、より頻繁でリソース消費の少ない若い世代のコレクションが導入されています。存続期間の短いオブジェクトを安定した存続期間の長いオブジェクトから分離することで、システムはコストのかかる完全ヒープ スキャンではなく、頻繁で軽量な「若い世代」のスイープを実行し、CPU 使用率、電力消費、UI のスタッターを大幅に削減します。Google のテストでは、GC によるアプリ スレッドへの干渉が大幅に改善され、最大メモリ常駐セット サイズ(RSS)が削減されることが示されています。ART の改善は、Google Play システム アップデートを通じて、Android 12(API レベル 31)以上を搭載した 10 億台以上のデバイスでも利用できます。

ロックフリー MessageQueue

SDK 37 以上をターゲットとするアプリでは、コアの android.os.MessageQueue がロックフリー アーキテクチャを実装するようになり、フレーム落ちが大幅に減少し、アプリの起動時間が短縮され、マルチスレッド シナリオでのビジーキューのパフォーマンスが大幅に向上します。注: これは、非公開の MessageQueue フィールドとメソッドでリフレクションを使用するアプリを壊す可能性があります。MessageQueue の内部に依存しない計測テストのために、TestLooperManagerpeekWhen API と poll API が追加されました。

static final フィールドが真の final に

Android 17 以降では、SDK 37 以上をターゲットとするアプリは「static final」フィールドを変更できなくなり、ランタイムでパフォーマンス最適化をより積極的に適用できるようになります。リフレクション(またはディープ リフレクション)を介してこれを行おうとすると、IllegalAccessException がスローされます。

JNI の SetStatic<Type>Field メソッド ファミリーを使用して変更すると、アプリケーションが直ちにクラッシュします。

カスタム通知のビューの制限

メモリ使用量を減らすため、 カスタム通知ビューのサイズをさらに制限します。このアップデートにより、アプリが URI を使用して既存の上限を回避できる抜け穴が解消されます。この動作はターゲット SDK バージョンによって制御され、API 37 以上をターゲットとするアプリに影響します。

プライバシーとセキュリティ

ユーザーの信頼を維持することは、Android エコシステムの根幹です。Android 17 では、ユーザー エクスペリエンスを簡素化しながら機密データを保護する堅牢な機能が導入されています。

プライバシー保護の選択肢

これまで、アプリは連絡先、正確な位置情報、メディア ファイルなどの情報にアクセスするために、広範な永続的な権限を必要としていました。Android 17 では、ユーザーが明示的に選択したデータにのみ一時的なセッションベースのアクセス権を付与する、プライバシー保護の選択肢への移行が継続されます。

  • システムレベルの連絡先選択ツール: ACTION_PICK_CONTACTS を利用することで、アプリはユーザーが選択した特定のフィールド(メールアドレスや電話番号など)への一時的なアクセスのみをリクエストできるようになり、広範な READ_CONTACTS 権限は不要になります。仕事用プロファイルと個人用プロファイルの分離も完全にサポートしています。
  • カスタマイズ可能な写真選択ツールの縦横比: PhotoPickerUiCustomizationParams を使用して、システム写真選択ツールをカスタマイズし、サムネイルを縦向きで表示できます。これは、動画ベースのソーシャル メディア アプリなど、写真や動画を常に縦向きで表示するアプリに最適です。
  • システム レンダリングによる位置情報ボタン: アプリに埋め込むことができる新しいシステム レンダリングによる位置情報ボタンは、現在のセッションのみに正確な位置情報へのアクセスを許可します。
  • EyeDropper API: 新しいシステムレベルの API である ACTION_OPEN_EYE_DROPPER を使用すると、アプリでシステム駆動のスポイトを作成し、ユーザーがディスプレイ上の任意のピクセルから色を選択できるようになります。これにより、広範囲の機密性の高いスクリーン キャプチャやメディア プロジェクションの権限を必要としない、安全でプライバシーを保護する色選択エクスペリエンスが提供されます。
val eyeDropperLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
   if (result.resultCode == Activity.RESULT_OK) {
       val color = result.data?.getIntExtra(Intent.EXTRA_COLOR, Color.BLACK)
       // Use the picked color in your app
   }
}
fun launchColorPicker() {
   val intent = Intent(Intent.ACTION_OPEN_EYE_DROPPER)
   eyeDropperLauncher.launch(intent)
}
Eyedropper Tester.webp
システム スポイトを使用して画面上の任意の場所から色を選択

ローカル ネットワークへのアクセス

Android 17 をターゲットとするアプリは、ACCESS_LOCAL_NETWORK 実行時の権限を必要とするか、スマートホーム デバイスとの通信やキャスト レシーバなど、ローカル ネットワーク通信にシステム仲介型のプライバシー保護デバイス選択ツールを使用する必要があります。ACCESS_LOCAL_NETWORK は既存の NEARBY_DEVICES 権限グループに属するため、すでに他の NEARBY_DEVICES 権限を付与しているユーザーには、再度プロンプトが表示されることはありません。

SMS OTP 保護

Android 17 では、SMS メッセージへのアクセスを 3 時間遅らせることで、SMS ワンタイム パスワード(OTP)の保護を強化しています。

例外: デフォルトの SMS アプリ、アシスタント アプリ、接続されたコンパニオン アプリは対象外です。アプリは、SMS Retriever API または SMS User Consent API への移行を強く推奨します。

ポスト量子暗号(PQC)

Android 17 は、次世代の暗号セキュリティに対応しています。

  • キーストアの統合: サポートされているデバイスは、安全なハードウェアで ML-DSA(Module-Lattice-Based Digital Signature Algorithm)鍵を生成して、標準の JCA API を介して公開される耐量子署名を生成できます。
  • ハイブリッド APK 署名: 古典的な署名と ML-DSA 署名を組み合わせてアプリの配信を保護する v3.2 APK 署名スキームを導入しました。

ネイティブの動的コードの読み込みの安全性を改善

アプリが SDK 37 以上をターゲットとしている場合、DEX ファイルと JAR ファイルに対するAndroid 14 で導入された動的コードのより安全な読み込み(DCL)保護が、ネイティブ ライブラリにも拡張されます。System.load を使用して読み込まれるすべてのネイティブ ファイルは、読み取り専用としてマークする必要があります。マークされていない場合、システムは UnsatisfiedLinkError をスローします。

物理入力に対するパスワード保護の強化

Android 17 では、物理キーボードを使用する際にパスワード、PIN、その他のシークレットを入力する際の安全性を高めるため、デフォルトで最後に入力した文字が表示されなくなります。

これらのディスプレイ設定は、ユーザーの好みに合わせて簡単にカスタマイズできます(利用できる設定はデバイスのメーカーによって異なる場合があります)。

これらのプライバシー保護の強化は、Android の組み込み SDK コンポーネントで自動的にサポートされ、SecureTextFields の Compose 1.12 でサポートされます。

Hide First Letter.gif
物理入力に対するスマートなパスワード保護

クリエイターを支援し、ユーザーを喜ばせるメディアとカメラの機能

Android 17 では、プロ品質のカメラとメディアにアクセスできる新しいクリエイター向け機能が導入され、消費者のエクスペリエンスも向上します。

  • Eclipsa Video: SMPTE ST 2094-50 仕様に基づいて構築された HDR 動画標準。新しいメタデータを導入し、デバイスがディスプレイのヘッドルームや周囲光の条件に合わせてコンテンツを調整できるようにするほか、標準コンテンツと HDR コンテンツの同時表示を改善します。
  • RAW14 画像形式: RAW14 画像形式の新しいサポートにより、プロ仕様のカメラアプリで、互換性のあるカメラセンサーから最高レベルのディテールと色深度をキャプチャできます。
  • ベンダー定義のカメラ拡張機能: ベンダー定義の拡張機能により、ハードウェア パートナーはカスタム カメラ拡張モードを定義して実装し、最新かつ最高のカメラ機能にアクセスできます。
  • 拡張 HE-AAC ソフトウェア エンコーダ: システム提供の新しい拡張 HE-AAC ソフトウェア エンコーダ。統合された音声とオーディオのコーディングを使用して低ビットレートと高ビットレートの両方をサポートし、低帯域幅の条件で音声メッセージの音質を大幅に向上させます。ラウドネス メタデータのサポートも含まれます。
  • Versatile Video Coding(H.266):  OEM は、MediaFormatvideo/vvc MIME タイプを定義し、MediaCodecInfo で新しい VVC プロファイルを追加し、MediaExtractor にサポートを統合することで、コーデック サポートを追加できます。
  • カメラ デバイスのタイプ: 基盤となるデバイスのタイプをクエリして、カメラが内蔵ハードウェア、外部 USB ウェブカメラ、仮想カメラのいずれであるかを特定する新しい API。
  • 動画録画の一定品質: MediaRecordersetVideoEncodingQuality は、動画エンコーダの一定品質(CQ)モードを設定し、動画全体で均一な視覚的忠実度を確保します。

補聴器のサポートの強化

  • Bluetooth LE Audio 補聴器のサポート: Android に、新しい AudioDeviceInfo.TYPE_BLE_HEARING_AID 定数を使用して Bluetooth Low Energy(BLE)Audio 補聴器の特定のデバイス カテゴリが追加されました。これにより、アプリは補聴器を通常のヘッドセットと区別して、補聴器を使用するユーザーに合わせたエクスペリエンスを提供できます。
  • 補聴器のオーディオ ルーティングの粒度: Android 17 では、特定のシステム音の再生先を個別に管理できます。通知、着信音、アラームを接続された補聴器またはデバイスの内蔵スピーカーにルーティングすることで、補聴器管理アプリの Bluetooth 接続を維持しながら、耳への不要な割り込みを回避できます。

CameraX と Media3

Android 17 向けに CameraXMedia3 が更新されました。メディア開発の粗削りな部分を滑らかにし、信頼性の高いカメラ キャプチャ、スムーズなメディア再生、クリエイティブで複雑な編集エクスペリエンスの構築を簡素化する、重労働を担う存在です。

以前の Android カメラ実装(Camera1 または生の Camera2 API)を CameraX に移行できるエージェント スキルをリリースしました。

注: Android 17 デバイスに追加されたダイナミック レンジ モードに関連するクラッシュを回避するには、CameraX のバージョンを 1.5.2 または 1.6.0 以降に更新する必要があります。

アプリ、ライブラリ、ツール、ゲームエンジンを準備しましょう。

Android SDK、ライブラリ、ツール、ゲームエンジンを開発している場合は、互換性の問題によって下流のアプリやゲームのデベロッパーがブロックされるのを防ぎ、最新の SDK 機能を利用できるようにするために、必要なアップデートを今すぐ準備することが重要です。Android 17 を完全にサポートするためにアップデートが必要な場合は、下流のデベロッパーにお知らせください。

テストでは、Google Play またはその他の手段を使用して、ライブラリまたはエンジンを使用する本番環境アプリまたはテストアプリを Android 17 ベータ版 4 を実行するデバイスまたはエミュレータにインストールします。アプリのすべてのフローをテストし、機能や UI に関する問題を探します。Android の各リリースには、プライバシー、セキュリティ、全体的なユーザー エクスペリエンスを向上させるプラットフォームの変更が含まれています。実行対象およびターゲットが Android 17 のアプリに対する影響が大きい動作の変更を確認して、テストに集中します。たとえば、次のような変更があります。

  • 大画面でのサイズ変更: Android 17(SDK 37)をターゲットにすると、大画面での画面の向き、サイズ変更、アスペクト比の制約の維持をオプトアウトできなくなります。
  • 動的コードの読み込み: アプリが SDK 37 以上をターゲットとしている場合、DEX ファイルと JAR ファイルを対象とする、Android 14 で導入された動的コードのより安全な読み込み(DCL)保護が、ネイティブ ライブラリにも拡張されます。System.load() を使用して読み込まれるネイティブ ファイルはすべて読み取り専用としてマークする必要があります。マークされていない場合、システムは UnsatisfiedLinkError をスローします。
  • デフォルトで CT を有効化: Certificate Transparency(CT)がデフォルトで有効になります(Android 16 では CT は利用可能でしたが、アプリがオプトインする必要がありました)。
  • ローカル ネットワーク保護: SDK 37 以上をターゲットとするアプリでは、ローカル ネットワーク アクセスがデフォルトでブロックされます。可能であれば、プライバシー保護ピッカーの使用に切り替え、広範で永続的なアクセスには新しい ACCESS_LOCAL_NETWORK 権限を使用します。
  • バックグラウンド オーディオの強化: Android 17 以降では、オーディオ フレームワークで、オーディオ再生、音声フォーカスのリクエスト、音量変更 API などのバックグラウンド オーディオのインタラクションに関する制限が適用されます。ベータ版 2 以降、フィードバックに基づいて、使用中の FGS の適用とアラーム音声の除外に関する targetSDK ゲーティングなど、いくつかの変更が加えられました。詳しくは、更新されたガイダンスをご覧ください。
  • NPU アクセス宣言: Android 17 をターゲットとし、NPU に直接アクセスする必要があるアプリは、マニフェストで  FEATURE_NEURAL_PROCESSING_UNIT を宣言して、NPU へのアクセスがブロックされないようにする必要があります。これには、LiteRT NPU デリゲート、ベンダー固有の SDK、非推奨の NNAPI を使用するアプリが含まれます。

Android 17 を使ってみる

Android ベータ版をまだご利用でない場合は、まもなく Google Pixel デバイスに Android 17 が届きます。Google Pixel デバイスをお持ちでない場合は、Android Studio で Android Emulator の 64 ビット システム イメージを使用できます。現在 Android 17 ベータ版 4.1 をご利用で、Android 17 QPR1 ベータ版をまだご利用でない場合は、プログラムをオプトアウトすると、Android 17 のリリース バージョンが無線(OTA)で提供されます。

パートナー デバイスで Android 17 ベータ版を入手する

Android 17 は、Honor、iQOO、Lenovo、OnePlus、OPPO、Realme、Sharp、vivo、Xiaomi などのパートナーのハンドセット、タブレット、折りたたみ式デバイスでベータ版をご利用いただけます。

android-17-beta-partners.jpg

Android 17 で最適な開発エクスペリエンスを実現するには、Android Studio Quail の最新の Canary ビルドを使用することをおすすめします。セットアップが完了したら、次の手順を行います。

Android デベロッパー プレビューとベータ版プログラムにご参加いただいた皆様に改めて感謝申し上げます。Android 17 のアップデートがアプリでどのように活用されるかを楽しみにしています。今後も、迅速なリリース サイクルでアップデートをお届けする予定です。

Android 17 の詳細については、Android 17 デベロッパー サイトをご覧ください。

作成者:

続きを読む