この記事はエンジニアリング部門副社長、Dave Burke による Android Developers Blog の記事 " Android 14 Developer Preview 2" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2023 年 3 月 8 日、Android 14 の 2 回目のデベロッパー プレビューをリリースします。先月の Android 14 の 1 回目のデベロッパー プレビューをもとに、プライバシー、セキュリティ、パフォーマンスのほか、デベロッパーの生産性やユーザーのカスタマイズをサポートする機能をさらに強化しています。同時に、タブレットや折りたたみ式などでの大画面デバイス エクスペリエンスの調整も続けています。
Android は、年間を通して機能強化と新機能を提供します。Android の継続的改善においては、Android 14 デベロッパー プレビュー (英語) と Quarterly Platform Release(QPR)ベータ版プログラムのフィードバックが重要な役割を果たします。Android 14 デベロッパー サイト (英語) には、Pixel にダウンロード (英語) する方法やリリース スケジュール (英語) など、プレビューに関する多くの情報が掲載されています。皆さんの感想をお聞きすること (英語) を楽しみにしています。そして、Android を誰もが使えるプラットフォームにするために、引き続き協力をお願いいたします。
Android 14 は、タブレットや折りたたみ式のフォーム ファクタに対応するために Android 12L と 13 で行った作業を土台として開発されています。大画面開発のスタートガイドと折りたたみ式端末についてを読めば、アプリの準備をする方法を短時間で学ぶことができます。大画面向けアプリの品質ガイドには、アプリを確認するための詳細チェックリストが含まれています。先日には、低レイテンシ タッチペンと Motion 予測をサポートするライブラリもリリースしました。 大画面ギャラリーには、ソーシャルとコミュニケーション、メディア、生産性向上、ショッピング、読書アプリのエクスペリエンス向けのデザイン アイデアが含まれています。
プライバシーとセキュリティは常に Android のミッションの中核部分であり、その土台となっているのが、アプリのサンドボックス化、オープンソース コード、オープンなアプリ開発です。Android 14 では、あらゆる人のために最高品質のプラットフォームを構築するために、安全性が向上したデバイス環境を提供し、ユーザーの制御を増やして情報を守れるようにします。
選択された写真へのアクセス
アプリでユーザーが選択したメディアにアクセスする必要がある場合は、写真選択ツールを使用することをおすすめします。このツールは、コア プラットフォーム機能、Google Play システム アップデート、Google Play 開発者サービスを組み合わせて利用することにより、Android 4.4 以降を実行しているデバイスで、権限なしで利用できるようになっています。
写真選択ツールを使えない場合は、SDK 33 で導入されたビジュアル メディア権限(READ_MEDIA_IMAGES (英語) / READ_MEDIA_VIDEO (英語) )をアプリからリクエストします。そうすると、Android 14 のユーザーは、選択された写真と動画のみへのアクセス権を付与できるようになります。
新しいダイアログでは、次の権限を選択できます。
[Allow access to all photos]: デバイスのライブラリのすべての写真と動画が利用可能
[Select photos]: ユーザーが選択した写真と動画のみが MediaStore 経由で一時的に利用可能
[Don’t allow]: すべての写真と動画へのアクセスを拒否
アプリ マニフェストに READ_MEDIA_VISUAL_USER_SELECTED (英語) 権限を宣言し、再度メディア権限をリクエストすると、もう一度メディアを選択するプロンプトを表示できます。
新しい権限とメディア ファイルの再選択フローに対応できるように、アプリでこの新しい動作をテストして UX を調整してください。
Credential Manager
Android 14 では、プラットフォーム API として Credential Manager (英語) が追加されます。また、Jetpack ライブラリと Google Play 開発者サービスの実装を通して、Android 4.4(API レベル 19)のデバイスまでサポートします。この API は、ユーザーが設定した認証情報プロバイダに認証情報を保存して取得できるようにすることで、ユーザーが簡単にログインできるようにします。また、パスワードをサポートするだけでなく、パスワードを使わないログインの新たな業界基準であるパスキー (英語) を使ったログインにも対応します。パスキーは業界基準に基づいて作られており、オペレーティング システムやブラウザのエコシステムに依存せずに動作し、ウェブサイトでもアプリでも利用できます。デベロッパー プレビュー 2 では、アカウント セレクタの UI スタイルが改善されているほか、デベロッパー プレビュー 1 のフィードバックに基づいて API が変更されています。詳細については、こちらを参照してください。
安全な暗黙的インテント
Android 14 をターゲットとするアプリでは、予期しないコードパスが実行されることを防ぐため、暗黙的インテントを使って可変のペンディング インテント (英語) を作成すると、例外がスローされます。ペンディング インテントを不変にするか、明示的インテントを使用する必要があります。詳細については、こちらを参照してください (英語) 。
バックグラウンド アクティビティの起動
Android 10(API レベル 29)以降では、バックグラウンドで実行されているアプリがアクティビティを開始できる状況に制限が設けられています。この制限により、ユーザーの操作の中断は最小限で済み、画面に表示する内容を細かく制御できます。Android 14 では、予期しない中断が起きる回数をさらに減らすため、ユーザーが操作しているアプリによるアクティビティの起動機能をフォアグラウンド アプリからさらに細かく制御できるようにします。具体的には、Android 14 をターゲットとするアプリで PendingIntent を送信するか、サービスをバインドする場合、バックグラウンドでアクティビティを起動する権限を付与 (英語) する必要があります。
Android 14 では、さまざまなアプリが同時に動作する方法を最適化し、システムの健全性やバッテリー駆動時間を向上させ、エンドユーザー エクスペリエンスを洗練する作業を続けています。
バックグラウンド処理の最適化
デベロッパー プレビュー 2 では、Android のメモリ管理システムが最適化され、バックグラウンドでアプリが実行されている間のリソースの使用が改善されています。アプリがキャッシュに保存された状態になってから数秒が経過すると、フォアグラウンド サービス、JobScheduler、WorkManager といった通常の Android アプリのライフサイクル API 以外のバックグラウンド作業は禁止されます。バックグラウンド作業の禁止は、Android 13 よりもかなり早いタイミングで行われます。
閉じることができない通知の削減
FLAG_ONGOING_EVENT (英語) を含む Android 14 の通知は、ロックされていないハンドヘルド デバイスで閉じることができるようになります。デバイスがロックされている場合は、これまでと同様、通知を閉じることはできません。また、これらの通知の通知リスナーを閉じることはできません。システムやデバイス ポリシーの通知など、デバイスの機能にとって重要な通知を閉じることができない点は変わりません。
Android 14 では、いくつかの新しい PackageInstaller (英語) API が導入されます。これを使うと、アプリストアのユーザー エクスペリエンスを改善できます。この API には、インストールが承認されるまで APK のダウンロードを遅らせる requestUserPreapproval() (英語) メソッド、インストーラがインストール中のアプリの将来のアップデートに対応することを宣言できるようにする setRequestUpdateOwnership() (英語) メソッド、アプリが使用中であるときに分割 APK を通してオプション機能をシームレスにインストールできる setDontKillApp() (英語) メソッドなどが含まれています。また、InstallConstraints (英語) API は、アプリが使われなくなったときなど、適切なタイミングでアップデートする方法をインストーラに提供します。
アプリストアを開発している方は、ぜひこれらの API を試してみて、感想をお聞かせください (英語) 。
地域の設定
地域の設定を使うと、温度の単位、週の最初の日、番号の付け方などをユーザーがパーソナライズできます。米国に居住するヨーロッパの人々は、温度の単位として華氏よりも摂氏を好むかもしれません。また、週の最初の日は米国のデフォルトでは日曜日ですが、月曜日にすることを好むかもしれません。
これらの設定は Android の新しい設定メニューに含まれるので、ユーザーが見つけやすく、アプリの設定を一元管理できます。また、バックアップと復元しても、これらの設定は保持されます。いくつかの API やインテントを使うとユーザー設定に読み取りアクセスできるので、アプリの情報表示を調整できます(getTemperatureUnit、getFirstDayOfWeek (英語) など)。また、ACTION_LOCALE_CHANGED (英語) に対して BroadcastReceiver を登録すると、Regional Preferences が変更されたときに言語 / 地域の構成変更に対応できます。
毎回のプラットフォーム リリースでは、アプリの互換性を優先することで、高速でスムーズなアップデートを実現できるように努力しています。皆さんが十分に時間を取って、アプリに必要な変更を加えられるようにするために、Android 14 (英語) ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
デベロッパー プレビュー 2 の期間中に、API に対する意見を求め、プラットフォームの変更点 (英語) がアプリにどのように影響するかを確認しますので、ぜひ今のうちに新規機能を試し、フィードバック (英語) をお送りください。
また、今は互換性テストを実施し、必要な作業を洗い出し始めるべきタイミングでもあります。一部の機能は、アプリの targetSdkVersion を変更することなく、開発者向けオプションの動作の変更点の切り替え (英語) を使ってテストできます。この機能を使って Android 14 の変更点をオプトインすると、アプリにどのような影響があるかを確認する予備調査ができます。
最終版の SDK/NDK API とアプリに関連するシステム動作を提供するタイミングを、Platform Stability と呼びます。2023 年 6 月に Platform Stability に到達することを想定しています。その後、数週間の最終テスト期間を経て、公式リリースを迎える予定です。詳しいリリース スケジュールはこちら (英語) をご覧ください。
デベロッパー プレビューには、Android 14 の機能を試し、アプリをテストしてフィードバック (英語) を提供するために必要なすべてのものが含まれています。タブレットや折りたたみ式でアプリのテストを始める一番簡単な方法は、Android Studio SDK Manager (英語) の最新プレビュー版で、タブレットまたは折りたたみ式設定の Android Emulator を使うことです。スマートフォンの場合は、システム イメージ (英語) を Pixel 7 Pro、Pixel 7、Pixel 6a、Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a(5G)のいずれかのデバイスに書き込むと、すぐに始めることができます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。
Android 14 向けに最高の開発をするには、Android Studio Giraffe (英語)(または Giraffe 以降の最新版)の最新プレビュー版を使うことをおすすめします。セットアップ (英語) の完了後にやるべきことは、以下のとおりです。
新機能や新 API を試す - 早い段階のデベロッパー プレビューでは、皆さんからのフィードバックが不可欠です。問題は、フィードバック ページ (英語) のトラッカーで報告してください。
現在のアプリの互換性をテストする - Android 14 のデフォルト動作の変更がアプリに影響を与えるかどうかを確認し、Android 14 を実行しているデバイスやエミュレータにアプリをインストールして幅広くテストできます。
変更をオプトインしてアプリをテストする - Android 14 では、ターゲットに新しいプラットフォームを指定した場合のみ、動作の変更点がアプリに影響するようになっており、それをオプトインすることができます。変更点を早めに把握し、評価することが重要です。簡単にテストできるように、変更点のオン、オフを個々に切り替え (英語) られるようになっています。
プレビュー システム イメージと SDK は、Android 14 のリリース サイクル期間中、定期的にアップデートされる予定です。このプレビュー リリースはデベロッパー専用で、日常的な使用や一般のユーザーの使用を想定したものではありません。そのため、新規 Android 14 デベロッパー プレビュー ユーザーは、手動ダウンロードのみでプレビュー リリースを入手できます。プレビュー ビルドを手動でインストールすると、以降のプレビューやベータ版の機能はすべて無線(OTA)で自動アップデートされます。詳細については、こちらを参照してください (英語) 。
デバイスをワイプせずに Android 13 QPR ベータ版プログラムから Android 14 デベロッパー プレビュー プログラムに移行したい場合は、今のうちにデベロッパー プレビュー 2 に移行することをおすすめします。移行しない場合、Android 13 ベータ版のビルド日付が新しくなった場合に、データをワイプせずに Android 14 デベロッパー プレビューに直接移行できなくなる時間帯が発生する可能性があります。
ベータ版リリースに近づいたら、一般のユーザーも招待して Android 14 を試していただく予定です。その際には、Android 14 ベータ版プログラムへの登録もオープンします。現在のところ、Android 14 のベータ版プログラムはまだ利用できない点に注意してください。
完全な情報は、Android 14 デベロッパー サイト (英語) でご覧いただけます。
Java および OpenJDK は Oracle および/またはその関連会社の商標または登録商標です。