この記事は Google Play、エンジニアリング部門副社長、Dave Burke による Android Developer Blog の記事 " Android 14 Beta 3 and Platform Stability " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今回の Android 14 ベータ版 3 のリリースから、Android 開発サイクルの次のフェーズに入ります。Android 14 は、プライバシー、セキュリティ、パフォーマンス、デベロッパーの生産性、そしてユーザーのカスタマイズ性を中核テーマに据えて開発されており、タブレットや折りたたみ式などの大画面デバイスのエクスペリエンス改善も継続しています。
ベータ版 3 で、Android 14 はプラットフォームの安定版になります。つまり、デベロッパー API とアプリに関連するすべての動作が確定し、レビューやアプリへの組み込みの準備が整ったことになります。皆さんからの継続的なフィードバックのおかげでこのマイルストーンに到達できました。
Android 14 には多くの機能が盛り込まれているので、アプリでテストすべき点はたくさんあります。ベータ版 3 で注目すべき機能には、非線形フォント スケーリングなどの新しいユーザー補助機能、写真や動画への部分的なアクセスなどのプライバシーのアップグレード、ジェスチャー ナビゲーションでの新しいアニメーションのサポート (英語) 、OpenJDK 17 LTS リリースとの整合性をさらに高める機能 (英語) などがあります。
ベータ版 3 でプラットフォームの安定版となったため、必要な互換性のアップデートを安心して開発し、リリースできる状態になりました。ベータ版リリースの残りの期間で貴重なフィードバックを集めることができるように、さっそく最終の互換性テストを始め、必要なアップデートを公開する準備をしてください。そうすることで、今年後半に予定されている Android 14 の最終リリース前に、スムーズなアプリ体験を保証できるようになります。
特にSDK やライブラリ、ツール、ゲームエンジンを開発している方は、今すぐテストすることが重要です。できる限り早く互換性のあるアップデートをリリースし、下流のアプリやゲームデベロッパーの作業が互換性の問題で止まることのないようにしてください。また、互換性のあるアップデートをリリースしたときは、デベロッパーに周知してください。
Android の毎回のリリースでは、プラットフォームに変更を加え、プライバシー、セキュリティ、全般的なユーザー エクスペリエンスを改善しています。このような変更によって、アプリが影響を受ける場合があります。アプリをテストするには、Google Play やその他の手段を利用して、本番環境で公開しているアプリを Android 14 ベータ版 3 を実行しているデバイスにインストールします。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。重点的にテストするべき点については、動作の変更点を確認してください。アプリに影響する可能性がある変更点には、以下のようなものがあります。
非線形フォント スケーリング :
Android 14 以降では、デフォルトで最大 200% までのフォントのスケーリングがサポートされ、低視力のユーザーが Web Content Accessibility Guidelines (WCAG) に対応した追加のユーザー補助オプションを利用できるようになります。最大のフォント サイズ (200%) を有効にして UI テストし、アプリがユーザビリティを損なうことなく大きなフォントサイズに対応しているかを確認してください。この機能を最大限に活用するには、Configuration (英語) や DisplayMetrics (英語) の sp 計算をハードコードせず、TypedValue (英語) の applyDimension() (英語) と deriveDimension() (英語) を使って sp と px を変換するようにします。
写真や動画への部分的なアクセス権の付与 :
アプリが Android 13 (API レベル 33) で導入されたビジュアル メディア権限 (READ_MEDIA_IMAGES (英語) または READ_MEDIA_VIDEO (英語))をリクエストすると、メディア ライブラリに部分的なアクセス権を付与できるようになります。アプリがバックグラウンド通信になるか、ユーザーが明示的にアプリを終了した場合、システムはこの権限を 1 回限りの権限として扱い、最終的にアクセスが拒否されます。アプリが権限のベスト プラクティスに従っている場合、この変更でアプリに問題が発生することはありません。Android 14 では、アプリがこの新しい変更に簡単に対応できるように、READ_MEDIA_VISUAL_USER_SELECTED (英語) 権限が導入されます。ユーザー エクスペリエンスをシームレスにするため、写真選択ツールを使うことをおすすめします。これを使うと、何の権限もないアプリでも、選択された画像や動画に安全にアクセスできます。
データ セーフティ情報がより可視化される (英語) :
Android 14 では、ユーザーのプライバシー強化の一環として、Google Play Console のフォームで宣言した情報を表示する場所を増やします。権限によっては、システムの実行時の権限ダイアログにクリック可能なセクションが含まれるようになり、そこにアプリのデータ共有内容が表示されます。システム ダイアログのこのセクションには、アプリがサードパーティとデータを共有する理由などの情報が含まれ、そこからアプリのデータへのアクセスを制御できる場所に移動することもできます。アプリの位置情報データ共有ポリシーを見直し、適用すべき変更がある場合は、アプリの Google Play のデータ セーフティ セクションを更新することをおすすめします。
アプリやゲームの互換性に影響する可能性があるすべての変更点を確認するには、動作の変更点セクションをご覧ください。アプリで使っているライブラリや SDK の問題が見つかった場合は、最新のライブラリや SDK のバージョンにアップデートして、必要に応じてデベロッパーに連絡してください。
現行のアプリについて互換性のあるバージョンを公開すると、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 14 をターゲットとしたアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知することを検討してください。以下にテストすべき変更点のいくつかを示します (これらは、targetSdkVersion を API 34 以降に設定したアプリのみに適用されます) 。
フォアグラウンド サービスのタイプは必須 :
Android 14 をターゲットとするアプリでは、アプリ内のそれぞれのフォアグラウンド サービス (英語) について、少なくとも 1 つのフォアグラウンド サービスのタイプを指定することが義務づけられます。アプリのユースケースを表すフォアグラウンド サービスのタイプを選択してください。システムは、適切なフォアグラウンド サービスのタイプが使われているかをチェックし、アプリが適切な実行時の権限をリクエストして必須の API を使っていることを確認します。たとえば、FOREGROUND_SERVICE_TYPE_LOCATION (英語) タイプのフォアグラウンド サービスを使っているアプリでは、ACCESS_COARSE_LOCATION (英語) か ACCESS_FINE_LOCATION (英語) をリクエストする必要があります。Android 14 では、フォアグラウンド サービスのタイプとして、健康 (英語) とリモート メッセージ (英語) のユースケースが追加されます。さらに、システムでは、新しい種類としてショート サービス (英語) 、特殊用途、除外されたシステムが予約されています。アプリでのユースケースがどのタイプにも該当しない場合は、ロジックを WorkManager またはユーザーが開始するデータ転送ジョブに移行することを強くおすすめします。
OpenJDK 17 アップデート :
Android 14 では、最新の OpenJDK LTS リリースの機能に合わせるために、コアライブラリの更新が行われています。この変更のいくつかは、アプリの互換性に影響する可能性があります。たとえば、正規表現の変更、UUID の扱い、ProGuard に関する問題、java.lang.ClassValue (英語) の追加などです。
セキュリティの変更点 :
Android 14 をターゲットとするアプリでは、特定の暗黙的インテントを内部コンポーネントに送ることができなくなります。実行時に登録するブロードキャスト レシーバは、システム ブロードキャストのみを受け取る場合を除き、エクスポート動作を指定する必要があります。動的に読み込むコードファイルは、読み取り専用である必要があります。Zip ファイルのエントリ名に ".." が含まれている場合、または "/" で始まる場合は、Zip パス走査の脆弱性を防ぐため、ZipFile(String) (英語) とZipInputStream.getNextEntry() (英語) で ZipException (英語) がスローされます。バックグラウンドからのアクティビティの起動に関する追加の制限が設けられ、非 SDK インターフェース呼び出し制限の更新が行われています。
ベータ版 3 のリリースには、Android 14 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。タブレットや折りたたみ式でアプリをテストする場合、パートナー製のデバイスを使うこともできますが、一番簡単な方法は、Google Pixel Tablet または Google Pixel Fold 構成の 64 ビット Android Emulator システム イメージを使うことです。これらは、Android Studio SDK Manager の最新プレビュー版から取得できます。こちらから新しい Pixel 7a などのサポート対象の Pixel デバイスを登録し、今回と今後の Android 14 ベータ版やフィーチャー ドロップのベータ版アップデートを無線 (OTA) で受け取ることもできます。
Android 14 向けに最高の開発を実施するには、Android Studio Hedgehog (英語) の最新リリースを使うことをおすすめします。セットアップの完了後にやるべきことは、以下のとおりです。
新しい機能と API を試してみる – 問題は、フィードバック ページのトラッカーで報告してください。
現在のアプリの互換性をテストする – アプリが Android 14 のデフォルト動作の変更による影響を受けるかどうかを確認します。Android 14 を実行しているデバイスかエミュレータにアプリをインストールし、幅広くテストします。
オプトインの変更点についてアプリをテストする – Android 14 では、動作の変更点はターゲットに新しいプラットフォームを指定した場合にのみアプリに影響するようになっており、それをオプトインすることができます。変更点を早めに把握し、評価することが重要です。簡単にテストできるように、変更点のオン、オフを個々に切り替えられるようになっています。
ベータ版のシステム イメージは、Android 14 のリリース サイクル期間を通じて定期的にアップデートされる予定です。
すでに Android 14 ベータ版プログラムに登録しており、デバイスがサポートされている場合は、特に何もしなくても、無線 (OTA) アップデートによってベータ版 3 が利用できるようになります。
ベータ版の入手方法の詳しい説明は、Android 14 デベロッパー サイトをご覧ください。
Java および OpenJDK は Oracle および/またはその関連会社の商標または登録商標です。
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play