プロダクト ニュース

Android 17 の 2 番目のベータ版

6 分で読了
2026 年 2 月 26 日
Matthew McCullough
プロダクト マネジメント担当バイス プレジデント、Android デベロッパー

本日、Android 17 の 2 番目のベータ版をリリースします。プライバシー、セキュリティ、パフォーマンスの向上を重視したプラットフォームの構築に向けた取り組みを継続しています。このアップデートでは、EyeDropper API やプライバシー保護の連絡先選択ツールなど、さまざまな新機能が提供されます。また、高度な測距 API、クロスデバイス ハンドオフ API なども追加されます。

このリリースでは、リリース ケイデンスの変更が継続されます。第 2 四半期に年間の主要な SDK リリースを行った後、マイナーな SDK アップデートを行います。

ユーザー エクスペリエンスとシステム UI

バブル

バブルは、メッセージ バブル API とは別の新しいフローティング UI エクスペリエンスを提供するウィンドウ モード機能です。ユーザーは、ランチャーでアプリアイコンを長押しして、スマートフォン、折りたたみ式デバイス、タブレットにアプリのバブルを作成できます。大画面では、タスクバーの一部としてバブルバーが表示されます。ユーザーは、画面上のアンカー ポイント間でバブルを整理、移動、移動できます。

Bubbles.gif

マルチウィンドウ モードのサポートに関するガイドラインに沿って、アプリがバブルとして正しく動作するようにしてください。

バブルはベータ版 2 ではまだ完全に有効になっていません。Android 17 の今後のビルドで提供される予定です。

EyeDropper API

新しいシステムレベルの EyeDropper API を使用すると、機密性の高いスクリーンショットの権限を必要とせずに、ディスプレイ上の任意のピクセルから色をリクエストできます。

Eyedropper_Tester.webp
  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)
}

連絡先選択ツール

ACTION_PICK_CONTACTS を介した新しいシステムレベルの連絡先ピッカーでは、ユーザーがリクエストした特定のデータ フィールドに対してのみ、セッションベースの一時的な読み取りアクセス権が付与されるため、広範な READ_CONTACTS 権限は必要ありません。また、デバイスの個人用プロファイルまたは仕事用プロファイルから選択することもできます。

android-17-contact-picker.gif
  val contactPicker = rememberLauncherForActivityResult(StartActivityForResult()) {
    if (it.resultCode == RESULT_OK) {
        val uri = it.data?.data ?: return@rememberLauncherForActivityResult
        // Handle result logic
        processContactPickerResults(uri)
    }
}

val dataFields = arrayListOf(Email.CONTENT_ITEM_TYPE, Phone.CONTENT_ITEM_TYPE)
val intent = Intent(ACTION_PICK_CONTACTS).apply {
    putStringArrayListExtra(EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS, dataFields)
    putExtra(EXTRA_ALLOW_MULTIPLE, true)
    putExtra(EXTRA_PICK_CONTACTS_SELECTION_LIMIT, 5)
}

contactPicker.launch(intent)

タッチパッドとのポインタ キャプチャの互換性が向上

以前は、アプリがポインタをキャプチャすると、タッチパッドはマウスとはまったく異なる方法でイベントを報告していました。マウスが報告する相対的な動きではなく、パッド上の指の位置を報告していました。そのため、一人称視点のゲームでタッチパッドを適切にサポートすることは非常に困難でした。現在、タッチパッドがキャプチャされると、デフォルトでポインタの動きとスクロール ジェスチャーが認識され、マウスイベントと同様に報告されます。新しい「絶対」モードで明示的にキャプチャをリクエストすることで、以前の詳細な指の位置データをリクエストすることもできます。

  // To request the new default relative mode (mouse-like events)
// This is the same as requesting with View.POINTER_CAPTURE_MODE_RELATIVE
view.requestPointerCapture()

// To request the legacy absolute mode (raw touch coordinates)
view.requestPointerCapture(View.POINTER_CAPTURE_MODE_ABSOLUTE)

インタラクティブな選択ツールの静止境界

Android の ChooserSessiongetInitialRestingBounds を呼び出すことで、アニメーションとデータの読み込みが完了した後に選択ツールが占有するターゲット位置を特定し、UI の調整を改善できます。

接続性とクロスデバイス

クロスデバイス アプリのハンドオフ

新しいHandoff APIを使用すると、Android タブレットなど、別のデバイスで再開するアプリケーションの状態を指定できます。オプトインすると、CompanionDeviceManager を介して状態が同期され、ユーザーの近くのデバイスのランチャーにハンドオフの候補が表示されます。この機能は、タスクをシームレスに継続できるように設計されており、ユーザーは Android エコシステム全体でワークフローを中断したところから正確に再開できます。重要な点として、Handoff はネイティブ アプリ間の移行とアプリからウェブへのフォールバックの両方をサポートしているため、最大限の柔軟性が得られ、受信デバイスにネイティブ アプリがインストールされていない場合でも完全なエクスペリエンスが保証されます。

高度な測距 API

次の 2 つの新しい測距テクノロジーのサポートを追加します。

  1. UWB DL-TDOA : アプリで UWB を使用して屋内ナビゲーションを行えるようにします。この API サーフェスは FIRA(Fine Ranging Consortium)4.0 DL-TDOA 仕様に準拠しており、プライバシー保護の屋内ナビゲーション(アンカーによるデバイスの追跡を回避)を可能にします。
  2. 近接検出 : アプリで WFA(WiFi Alliance)が採用している新しい測距仕様を使用できるようにします。このテクノロジーは、既存の Wifi Aware ベースの測距仕様と比較して、信頼性と精度が向上しています。

データプランの強化

メディア品質を最適化するために、アプリは getStreamingAppMaxDownlinkKbpsgetStreamingAppMaxUplinkKbps を使用して、ストリーミング アプリケーション用に携帯通信会社が割り当てた最大データレートを取得できるようになりました。

コア機能、プライバシー、パフォーマンス

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

Android 17 では、ユーザーを不正なローカル ネットワーク アクセスから保護するために、ACCESS_LOCAL_NETWORK 実行時の権限が導入されています。これは既存の NEARBY_DEVICES 権限グループに該当するため、他の NEARBY_DEVICES 権限をすでに付与しているユーザーには再度確認を求めるメッセージは表示されません。この権限を宣言してリクエストすることで、アプリはスマートホーム デバイスやキャスト レシーバーなど、ローカル エリア ネットワーク(LAN)上のデバイスを検出して接続できます。これにより、悪意のあるアプリが制限のないローカル ネットワーク アクセスを悪用して、ユーザー トラッキングやフィンガープリントを密かに実行することを防ぐことができます。Android 17 以降をターゲットとするアプリでは、LAN デバイスとの通信を維持するための 2 つの方法が用意されています。システムが仲介するプライバシー保護のデバイス選択ツールを採用して権限の確認をスキップするか、実行時にこの新しい権限を明示的にリクエストしてローカル ネットワーク通信を維持します。

タイムゾーン オフセット変更ブロードキャスト

Android では、夏時間の移行など、システムのタイムゾーン オフセットが変更されたときにトリガーされる信頼性の高いブロードキャスト インテント ACTION_TIMEZONE_OFFSET_CHANGED が提供されるようになりました。これは、Unix タイムスタンプが変更されたときにトリガーされる既存のブロードキャスト インテント ACTION_TIME_CHANGED と、タイムゾーン ID が変更されたときにトリガーされる ACTION_TIMEZONE_CHANGED を補完するものです。

NPU の管理と優先順位付け

NPU に直接アクセスする必要がある Android 17 をターゲットとするアプリは、NPU へのアクセスがブロックされないように、マニフェストで FEATURE_NEURAL_PROCESSING_UNIT を宣言する必要があります。これには、LiteRT NPU デリゲート、ベンダー固有の SDK、非推奨のNNAPI を使用するアプリが含まれます。

ICU 78 と Unicode 17 のサポート

コア国際化ライブラリが ICU 78 に更新され、新しいスクリプト、文字、絵文字ブロックのサポートが拡張され、時間オブジェクトの直接フォーマットが可能になりました。

SMS OTP 保護

Android では、OTP を含む SMS メッセージへのアクセスを自動的に遅延させることで、SMS OTP 保護が強化されています。以前は、SMS リトリーバー ハッシュを含むメッセージの配信がほとんどのアプリで 3 時間遅延する SMS リトリーバー形式に重点が置かれていました。ただし、デフォルトの SMS アプリなどの特定のアプリと、ハッシュに対応するアプリは、この遅延の対象外です。このアップデートでは、OTP を含むすべての SMS メッセージに保護が拡張されます。ほとんどのアプリでは、OTP を含む SMS メッセージにアクセスできるのは 3 時間後のみとなり、OTP のハイジャックを防ぐことができます。SMS_RECEIVED_ACTION ブロードキャストは保留され、SMS プロバイダ データベース クエリはフィルタされます。遅延後、これらのアプリで SMS メッセージを利用できるようになります。

WebOTP 形式の SMS メッセージへのアクセスを遅延

アプリに SMS メッセージを読み取る権限があるが、OTP の意図した受信者でない場合(ドメイン検証で判断)、WebOTP 形式の SMS メッセージにアクセスできるのは 3 時間後のみです。この変更は、メッセージに記載されているドメインに関連付けられたアプリのみが確認コードをプログラムで読み取れるようにすることで、ユーザーのセキュリティを強化することを目的としています。この変更は、対象 API レベルに関係なく、すべてのアプリに適用されます。

OTP を含む標準の SMS メッセージへのアクセスを遅延

WebOTP 形式または SMS リトリーバー形式を使用しない OTP を含む SMS メッセージの場合、ほとんどのアプリで OTP SMS にアクセスできるのは 3 時間後のみです。この変更は、Android 17(API レベル 37)以降をターゲットとするアプリにのみ適用されます。

デフォルトの SMS、アシスタント アプリ、コネクテッド デバイスのコンパニオン アプリなどの特定のアプリは、この遅延の対象外となります。

OTP の抽出のために SMS メッセージの読み取りに依存しているすべてのアプリは、引き続き機能するように、SMS リトリーバー API またはSMS ユーザー同意 API を使用するように移行する必要があります。

Android 17 のスケジュール

このベータ版から、3 月に予定されているプラットフォームの安定版のマイルストーンに迅速に移行します。このマイルストーンでは、最終版の SDK/NDK API を提供します。それ以降、アプリは SDK 37 をターゲットとして Google Play に公開し、Android 17 の一般提供までの数か月間でテストを完了してユーザー フィードバックを収集できます。

Android Release Timeline.png

1 年間のリリース

Android 17 は、四半期ごとのリリースでアップデートが継続される予定です。第 2 四半期の今後のリリースでは、アプリの動作を中断させる予定の変更が導入されます。第 4 四半期には、追加の API と機能を含むマイナーな SDK リリースを予定しています。

Android Release Timeline_2.png

Android 17 を使ってみる

サポートされている Pixel デバイスを登録すると、このアップデートと今後の Android ベータ版アップデートを無線(OTA)で入手できます。Google Pixel デバイスをお持ちでない場合は、Android Studio の Android Emulator で 64 ビットのシステム イメージを使用できます

現在 Android ベータ プログラムに参加している場合は、ベータ版 2 への無線(OTA)アップデートが提供されます。

Android 26Q1 ベータ版をお持ちで、26Q1 の最終安定版をリリースしてベータ版を終了する場合は、26Q2 ベータ版 2 への無線(OTA)アップデートを無視して、26Q1 のリリースをお待ちください。

フィードバックをお待ちしております。フィードバック ページから問題の報告や機能リクエストの送信をお願いいたします。フィードバックを早めにいただければ、最終リリースに向けた作業に反映させることができます。

Android 17 の開発エクスペリエンスを最適化するには、Android Studio(Panda) の最新プレビュー版を使用することをおすすめします。セットアップが完了したら、次のことを行ってください。

  • 新しい SDK でコンパイルし、CI 環境でテストして、フィードバック ページのトラッカーで問題を報告します。
  • 現在のアプリの互換性をテストし、アプリが Android 17 の変更の影響を受けるかどうかを確認します。Android 17 を実行しているデバイスまたはエミュレータにアプリをインストールして、徹底的にテストします。

プレビュー版/ベータ版のシステム イメージと SDK は、Android 17 のリリース サイクル全体を通して定期的に更新されます。ベータ版ビルドをインストールすると、今後のアップデートは自動的に

無線(OTA)で提供されます。

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

チャットに参加する

今年後半にプラットフォームの安定版 と Android 17 の一般提供が開始される予定ですが、フィードバックは引き続き最も貴重な資産となります。Canary チャンネルのアーリー アダプターでも、ベータ版 2 でテストしているアプリ デベロッパーでも、コミュニティに参加してフィードバックをお寄せください。ぜひお聞かせください。

作成者:

続きを読む