この記事は Android ML Platform Team による Android Developers Blog の記事 " Latest updates on Android’s custom ML stack " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
オンデバイス ML には、サーバーベースの ML に比べて、オフラインでも利用できる、待ち時間が少ない、プライバシーが向上する、推論コストが低いといったメリットがあるため、Android でのオンデバイス ML の利用はこれまでに以上に急速に拡大しています。
Android デベロッパーがオンデバイス ML ベースの機能を開発する場合、2 つのオプションから選択するのが一般的です。1 つは、ML Kit のようなトレーニングと最適化が済んでいる ML モデルが含まれた本番環境対応の SDK を使う方法。それよりも細かい制御が必要なら、2 つめの独自のカスタム ML モデルや機能をデプロイする方法です。
この記事では、2022 年 10 月 18 日にアップデートされた Android のカスタム ML スタック(Android にカスタム ML 機能をデプロイするための重要な API やサービス群)について紹介します。
スタンドアロンの TensorFlow Lite に代わる Google Play 開発者サービスの TensorFlow Lite について最初にお知らせしたのは、Google I/O '21 での早期アクセス プレビューでした。それ以降、数万個のアプリを通して、毎月数十億人のユーザーにサービスを提供するまでに至っています。9 月には、Google Play 開発者サービスの TensorFlow Lite 安定版がリリースされ、この機能が Android の公式 ML 推論エンジンになりました。
Google Play 開発者サービスの TensorFlow Lite を使えば、バイナリサイズの削減や自動アップデートによるパフォーマンス向上だけでなく、Android のカスタム ML スタックが将来提供する API やサービスを簡単に組み込めるというメリットも享受できます。このような API やサービスは、公式推論エンジンをベースに開発されるからです。
現在アプリに TensorFlow Lite をバンドルしている方は、ドキュメントを参照して移行してください。
数年前にリリースされた GPU デリゲートと NNAPI デリゲートを使うと、GPU、DSP、NPU といった専用ハードウェアの処理能力を活用できます。現在、GPU デリゲートと NNAPI デリゲートの両方が Google Play 開発者サービスで配信されています。
また、高度なユースケースでは、カスタムのデリゲートを直接利用したいと考えるデベロッパーがいることも認識しています。そこでハードウェア パートナーと連携して、Google Play 開発者サービスを通してカスタム デリゲートにアクセスしやすくします。
Android のハードウェアは多様なので、ユーザーごとに最適なデリゲートを見つけるのは複雑な作業になる可能性があります。この課題を克服するため、新しい API を開発し、実行時に TensorFlow Lite モデルに最適なハードウェア アクセラレーションを安全に設定できるようにします。
来年の早い時期に正式リリースを行うことを目指し、現在はアクセラレーション サービスの早期アクセス (英語) の申し込みを受け付けています。
私たちは、Android で高パフォーマンスなカスタム オンデバイス ML を実現するために、重要な機能を提供する作業を続けています。
今回のアップデート内容をまとめると、現在の Android のカスタム ML スタックには以下が含まれています:
アクセラレーション サービスは近日中にリリースを迎えます。これにより、実行時に最適なデリゲートを選べるようになります。
Android のカスタム ML スタックの詳細や最新情報は、developer.android.com/ml をご覧ください。
この記事は Fred Chung による Android Developers Blog の記事 " Privacy Sandbox: Developer Preview 5 is here! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 9 月 7 日、Android 版プライバシー サンドボックスのデベロッパー プレビュー 5 をリリースしました。これは大きな節目であり、今後登場する予定のプライバシー サンドボックス ベータ版リリースの土台となるものです。
デベロッパー プレビューをテストし、問題の報告やフィードバックの共有をしてくださった大勢の皆さんに感謝いたします。寄せられたフィードバックは、プライバシー サンドボックスの設計が進化するうえで役立っています。たとえば、SDK ランタイムの設計を変更してリフレクション API の利用を許可したり、FLEDGE サービス、メディエーション、アプリとウェブにわたる測定といった設計提案を追加公開したりできました。
ここからは、今回のリリースの具体的な内容について説明します。
デベロッパー プレビュー 5 では、機能の追加、データ検証の強化、プライバシー保護 API と SDK ランタイム全般にわたる API シグネチャの変更などが行われています。詳しくは、リリースノート (最新情報は英語のみ) をご覧ください。
今後数か月間で、今回のデベロッパー プレビューを利用して新機能の導入と実装を進めます。ベータ版や今後のリリース予定の詳細は、改めてお知らせいたします。
今回のデベロッパー プレビュー リリースを活用し、デベロッパーの皆さんと連携して Android 版プライバシー サンドボックスの準備を進めていきたいと考えています。このリリースには、機能の早期テストを始めてフィードバックを共有するために必要なリソースが含まれています。開発を始めるには、エミュレータまたはサポート対象の Pixel デバイスで SDK とシステム イメージをセットアップする手順をご覧ください。
さらに詳しく Android 版プライバシー サンドボックス デベロッパー プレビューについて知りたい場合は、デベロッパー サイトをご覧ください。また、ニュースレターに登録すると、定期的に最新情報を受け取ることもできます。
この記事は Dave Burke による Android Developers Blog の記事 " Android 13 Beta 3 and Platform Stability " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 6 月 8 日、3 回目の Android 13 ベータ版をリリースしました。これでサイクルの最終フェーズに入り、作業の中心は機能の洗練とパフォーマンスの向上となります。Android 13 は、プライバシーとセキュリティ、デベロッパーの生産性、タブレットと大画面のサポートという中核テーマに基づいて構築しています。
Android 13 には注目すべきたくさんの機能があります。まずは、新しい通知パーミッションや写真選択ツールなどのプライバシー機能です。そして、テーマ対応アプリアイコン、アプリごとの言語サポートなどの生産性機能があります。さらに、HDR 動画、Bluetooth LE オーディオや MIDI 2.0 over USB といった最新の標準も導入されます。そのうえ、12L で行った新たなアップデートを拡張し、ツールを改善して現在使われている 2 億 7,000 万台のタブレットと大画面デバイスを活用できるようにしています。
ベータ版 3 で、Android 13 は プラットフォームの安定版 になります。つまり、デベロッパー API とアプリに関連するすべての動作が確定したことになります。皆さんが寄せてくださったフィードバックに感謝いたします。おかげでここまで来ることができました。今年予定されている正式リリースに向けてデベロッパーの皆さんがアプリを準備する作業の中心は、互換性テストと品質に移ります。
こちら (英語) から登録すると、Pixel デバイスで無線 (OTA) によってベータ版 3 を入手できます。すでに登録している方は、自動的に今回のアップデートを受け取ります。いくつかのパートナーのデバイスの一部でも Android 13 ベータ版を試すことができます。詳細は android.com/beta (英語) をご覧ください。アプリを準備する方法は以降で簡単に説明します。または、Android 13 デベロッパー サイトで詳細をご覧ください。
ベータ版 3 をもって Android 13 は プラットフォームの安定版 に到達しました。これは、正式な API レベル 33 SDK と NDK API を含め、アプリに関連するすべての動作と API が確定したことを示すマイルストーンです。ベータ版 3 以降では、プラットフォームが変更されないことがわかっているので、安心して互換性アップデートを開発し、リリースできます。
すべてのアプリとゲームデベロッパーは、最終リリース前にできるだけ早く最終の互換性テストを開始し、互換性アップデートを公開する準備をしてください。
特にすべての SDK、ライブラリ、ツール、ゲームエンジンのデベロッパーの皆さんは、今すぐテストを始めて、できる限り早く互換性アップデートをリリースすることが重要です。下流のアプリやゲームのデベロッパーが、皆さんのアップデートを受け取るまで作業できない可能性があるからです。そのため、互換性アップデートをリリースしたら、デベロッパーに向けてアナウンスしてください。
アプリの互換性とは、新しいバージョンのプラットフォームでアプリが意図したとおりに動作することを意味します。私たちはリリースごとにプラットフォームに必要な変更をし、プライバシーやセキュリティを改善したり、OS 全体のユーザー エクスペリエンスを向上させたりしています。これにより、アプリに影響が生じる可能性もあります。そのため、すぐにアプリをテストし、必要なアップデートをし、最終リリース前に互換性のあるアップデートをユーザーに公開することが重要です。これは基本的なことですが、Android 13 の新機能を探るユーザーに高く評価される重要な品質レベルです。
アプリの互換性テストは、Android 13 ベータ版 3 を実行しているデバイスに Google Play や他のソースから公開版のアプリをインストールするだけで行うことができます。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。重点的にテストをするべき点については、動作の変更点を確認してください。特に注意すべき変更点は、以下のとおりです。
また、アプリのライブラリや SDK の互換性テストも忘れずに行ってください。問題を見つけた場合は、最新バージョンのライブラリまたは SDK にアップデートするか、デベロッパーに連絡してサポートを求めます。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 13 をターゲットとしたアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。テストすべき変更点のいくつかを示します(これらは、targetSdkVersion を API 33 以降に設定したアプリのみに適用されます)。
Android 13 は、12L で導入されたタブレットの最適化がベースとなっています。そこでテストの一環として、アプリがタブレットなどの大画面デバイスで最適に表示されることを確認します。Android Studio で Android Emulator をセットアップすると、大画面機能をテストできます。または、Android 13 ベータ版パートナー (英語) の大画面デバイスを使うことができます。以下に、注意すべき点を示します。
Android 13 のタブレット機能とテスト内容の詳細は、こちら (英語) からご覧ください。
2022 年 6 月 8 日のベータ版リリースには、アプリをテストして Android 13 機能を試すために必要なものがすべてそろっています。Pixel デバイスを登録するだけで、無線 (OTA) でアップデートを入手できます。始めるには、Android 13 SDK をセットアップします。
いくつかのパートナーのデバイスでも、Android 13 ベータ版でアプリをテストすることができます。android.com/beta (英語) にアクセスすると、すべてのパートナーの一覧を確認できます。サポート対象のデバイスや、ベータ版 1 以降のベータ版ビルドについての詳細が記載されたサイトへのリンクも含まれています。登録やサポートはそれぞれのパートナーが担当し、ベータ版のアップデートも直接提供されます。さらに幅広くテストしたい場合は、Android GSI イメージ (英語) で Android 13 ベータ版 3 をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Android 13 ベータ版の詳細については、Android 13 デベロッパー サイトをご覧ください。
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play
この記事は Dave Burke による Android Developers Blog の記事 " The Beta for Android 13 is out now: Android 13 Beta 1 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
私たちは Android 13 の機能と安定性を向上させる作業を着実に進めています。Android 13 では、プライバシーとセキュリティ、デベロッパーの生産性、タブレットと大画面のサポートという中核テーマを主眼に置いて開発しています。2022 年 4 月 26 日、その作業がサイクルの次の段階に入り、Android 13 最初のベータ版をリリースしました。
Android 13 には、デベロッパーが注目すべきたくさんの機能があります。まずは、新しい通知パーミッションや写真ピッカーなどのプライバシー機能です。そして、テーマ対応アプリアイコン、クイック設定タイルの配置、アプリごとの言語サポートなど、魅力的なエクスペリエンスを開発するために役立つ API があります。さらに、Bluetooth LE オーディオや MIDI 2.0 over USB といった機能も導入されます。ベータ版 1 では、メディア ファイルへのアクセスを細分化した新しいパーミッションの追加、オーディオ ルーティング API の改善などをしています。5 月 11~12 日の Google I/O では、さらに多くのことをお知らせしましたので、ぜひごアーカイブをご覧ください!
このリリースについてのフィードバックを提供してくださる先行ユーザーの皆さんが増えることは大歓迎なので、ぜひベータ版 1 を試してみてください。Android 13 ベータ版 1 は、2022 年 4 月 26 日からサポート対象の Pixel デバイスで試すことができます。こちら (英語) から登録すると、無線(OTA)アップデートを受け取ることができます。すでに Android 13 のデベロッパー プレビューをお使いの方には、今回のアップデートや今後のアップデートがデバイスに無線(OTA)で自動配信されます。いつものように、Pixel と Android Emulator 用のダウンロードも利用できます。アプリの開発やテストを開始する詳しい方法は、Android 13 デベロッパー サイトに掲載されています。
ベータ版 1 では、プライバシーとセキュリティへの注力を続けつつ、ユーザーにとって魅力的なエクスペリエンスを開発するために役立つ新しい API を提供しました。ベータ版 1 には、新しい通知パーミッション、写真ピッカー、テーマ対応アプリアイコン、ローカライズや言語サポートの強化など、以前にお知らせした機能への最新アップデートが含まれています。また、少数の新機能も導入されるので、ぜひ試してみて感想をお聞かせください。
メディア ファイルにアクセスするパーミッションの細分化 - これまで、ローカル ストレージの共有メディア ファイルを読み取るアプリは、READ_EXTERNAL_STORAGE (英語) パーミッションをリクエストする必要があり、このパーミッションが付与されると、すべての種類のメディア ファイルにアクセスできるようになっていました。今回は、透明性とユーザーの制御を向上させるため、アクセスできる共有メディア ファイルのスコープを細分化した一連のパーミッションを新たに導入します。
新しいパーミッションでは、共有ストレージ内の特定の種類のファイルへのアクセスをリクエストすることになります。 (以下、全て英語)
My App が、このデバイスに格納されている音楽などのオーディオ ファイルにアクセスすることを許可する
ユーザーがパーミッションを付与すると、アプリはそれぞれの種類のメディア ファイルに読み取りアクセスできるようになります。シンプルなユーザー エクスペリエンスを実現するため、アプリが READ_MEDIA_IMAGE と READ_MEDIA_VIDEO を同時にリクエストした場合、両方のパーミッションを付与するダイアログを 1 回だけ表示します。アプリから共有メディア ファイルにアクセスしている方は、アプリのターゲットを Android 13 にする際に、新しいパーミッションに移行する必要があります。詳しくはこちらをご覧ください。
Keystore と KeyMint のエラー報告の改善 - 鍵を生成するアプリに対して、Keystore と KeyMint がこれまでよりも正確で細かいエラー インジケーターを提供します。具体的には、java.security.ProviderException (英語) の下に例外クラス階層を追加し、Keystore/KeyMint のエラーコード (英語) や再試行可能なエラーかどうかを含む Android 固有の例外を提供します。また、鍵生成、署名、および暗号化のメソッドを変更して、新しい例外を投げるようにすることも可能です。改善版のエラー報告では、鍵生成の再試行に必要な内容が提供されます。
オーディオ ルーティングの予測 - メディアアプリでオーディオがどのようにルーティングされるかを把握しやすくするため、AudioManager (英語) クラスに新しいオーディオ ルーティング API を追加しました。新しい getAudioDevicesForAttributes() (英語) API を使うと、指定したオーディオの再生に使われる可能性があるデバイスのリストを取得できます。また、オーディオ ストリームを直接再生できるかどうかを把握しやすくするため、getDirectProfilesForAttributes() (英語) API を追加しました。以上の新 API を使うと、オーディオ トラックに最適な AudioFormat (英語) を判断できます。
まだ Android 13 でアプリの互換性テストをしていない方は、ぜひこのタイミングで行っておきましょう!Android 13 がベータ版になったので、デベロッパーだけでなく、先行ユーザーもアクセスできるようになります。つまり、これから数週間のうちに、Android 13 で皆さんのアプリを試すユーザーが増え、見つかった問題が報告される可能性があります。
互換性テストをするには、Android 13 ベータ版を実行しているデバイスかエミュレータに、Google Play などのソースで公開しているアプリをインストールし、アプリのフローをすべて試します。特に注意してテストをするべき点については、動作の変更点を確認してください。見つかった問題を解決できたら、できる限り早くアップデートを公開しましょう。
ベータ版を公開したことで、2022 年 6 月の Platform Stability に近づいています。その時点で、アプリに関連するシステムの動作、SDK/NDK の API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースしてください。デベロッパー向けのタイムラインの詳細は、こちらをご覧ください。
ベータ版 のリリースには、Android 13 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。こちら (英語) からサポート対象の Pixel デバイスを登録するだけで、今回と今後の Android 13 ベータ版やフィーチャー ドロップのベータ版アップデートを無線(OTA)で受け取ることができます。すでにデベロッパー プレビュー ビルドをインストールしている方は、自動的にアップデートを受け取ります。開発を始めるには、SDK をセットアップが必要です。
サポートされている端末で幅広くテストしたい場合は、Android GSI イメージ (英語) の Android 13 ベータ版をお試しください。デバイスをお持ちでない場合は、Android Studio の SDK Manager から最新のエミュレータ システム イメージをダウンロードするだけで、Android Emulator でテストできます。
ベータ版の入手方法の詳しい説明は、Android 13 デベロッパー サイトをご覧ください。
この記事は Dave Burke による Android Developers Blog の記事 " Android 13 Developer Preview 2 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 3 月、2 億 5,000 万台以上の大画面 Android デバイスをさらに活用してもらうための 12L フィーチャー ドロップが、Android オープンソース プロジェクト(AOSP)にアップされました。そしてその直後、今回のリリースを迎えました。Android 13 やタブレット、Jetpack Compose でのデベロッパーの生産性向上の詳細については、#TheAndroidShow の最新エピソードをご覧ください。
デベロッパー プレビュー 2 の説明に入る前に、先ほどの話をしましょう。12L フィーチャー ドロップが正式に AOSP にリリースされ、今後数週間のうちにサポート対象のすべての Pixel デバイスにロールアウトされます。12L には、アプリをドラッグ&ドロップしてすばやく分割画面モードに切り替えることができる新しいタスクバー、通知シェードとロック画面の新しい大画面レイアウト、アプリの互換性モードの改善などのアップデートが含まれ、タブレットでの Android 12 がさらに改善されています。詳細についてはこちら (英語) を参照してください。
12L は、年内行われるアップデートによって、Samsung、Lenovo、Microsoft のタブレットや折りたたみ式デバイスで利用できるようになる予定です。そのため、今のうちにアプリの準備も整えておくようにしましょう。さまざまなウィンドウ サイズの分割画面モードや異なる画面の向きでアプリをテストし、該当する場合は新しい互換性モードの変更点を確認することを強くおすすめします。デベロッパー向けの 12L の説明はこちら (英語) をご覧ください。
最も良いのは、12L の大画面機能が Android 13 の土台となっていることです。そのため、Android 12L を搭載したタブレットのベースもカバーできることを認識したうえで、Android 13 の開発やテストをすることができます。私たちは、大画面機能を Android の将来にとって重要な機能と位置付けています。そのため、皆さんがタブレットや Chromebook、折りたたみ式デバイスで優れたエクスペリエンスを構築するために必要になるツールを提供できるように、今後も注力を続けます。詳細については大画面向けの最適化を始める方法や大画面デベロッパー リソースをご覧ください。
それでは、今回の Android 13 デベロッパー プレビュー 2 の新機能の紹介に入りましょう。
ユーザーは、重要な個人情報や機密情報、リソースを安心してデバイスに預けることができる OS やアプリを求めています。プライバシーとユーザーの信頼は Android の製品理念の中核です。Android 13 では、すべての人に対して高品質で責任あるプラットフォームを構築することに引き続き重点を置いています。それを実現するため、デバイスでより安全な環境を実現し、ユーザーがより多くのことを制御できるようにします。デベロッパー プレビュー 2 の新機能は以下のとおりです。
通知権限 - ユーザーが最も重要な通知に集中できるようにするため、Android 13 にはアプリから通知を送信する新しい実行時の権限として、POST_NOTIFICATIONS (英語) が導入されます。Android 13 を対象とするアプリは、通知を送信する前に、ユーザーに対してこの通知権限をリクエストする必要があります。Android 12 以前を対象にするアプリでは、システムがアップグレード フローを処理します。このフローは、今後も微調整が続けられる予定です。ユーザーが自身でコントロールできる範囲を増やすため、できる限り早くアプリの対象を Android 13 に変更し、通知権限をリクエストすることをおすすめします。詳しくはこちら (英語)をご覧ください 。
Android 13 の通知権限 ダイアログ
デベロッパーがダウングレードできる権限 - アプリによっては、以前にユーザーが許可した特定の機能を有効にするための権限や、古い Android バージョンで取得した機密性の高い権限が不要になることがあるかもしれません。Android 13 では、以前に許可された実行時の権限をダウングレードしてユーザーのプライバシーを保護できるよう、新しい API (英語) を提供します。
コンテキスト登録されたレシーバの安全なエクスポート - Android 12 では、デベロッパーがマニフェストで宣言されたインテント レシーバをエクスポートするかどうか、明記することを義務付けました。Android 13 では、コンテキスト登録されたレシーバについても同様に求められます。つまり、システム以外のソースのレシーバを登録する際に、RECEIVER_EXPORTED (英語) フラグか RECEIVER_NOT_EXPORTED (英語) フラグを追加します。これにより、明示的に指定しない限り、他のアプリがレシーバを使ってブロードキャストを送信することはできなくなります。Android 13 では必須ではありませんが、アプリのセキュリティ強化の一環として、エクスポートするかどうかを宣言することをおすすめします。
Android 13 では、洗練されたエクスペリエンスと高いパフォーマンスをユーザーに提供していただけるよう、さらにツールを充実させる作業を続けています。ここでは、今回のリリースに含まれるアップデートの一部を紹介します。
日本語テキストの折り返しの改善 - TextView でテキストを文字ではなく、文節(自然に感じられる言葉の最小単位)やフレーズで折り返すことができるようになり、日本語のアプリで洗練性と読みやすさが向上します。TextView で android:lineBreakWordStyle="phrase" (英語) を指定すると、この折り返し設定を利用できます。
android:lineBreakWordStyle="phrase"
phrase スタイルを有効にして折り返した日本語テキスト(下)と、有効にしていない日本語テキスト(上)
非ラテン文字の行の高さの改善 - Android 13 では、非ラテン文字(タミル文字、ビルマ文字、テルグ文字、チベット文字など)の表示が改善され、各言語に応じた行の高さが利用されます。新しい行の高さになることで、文字が欠けることがなくなり、文字の位置も改善されます。この改善は、アプリの対象を Android 13 にするだけで反映されます。この変更は非ラテン言語の UI に影響する可能性があるため、新しい行間を使う場合は、必ずアプリのテストをするようにしてください。
Android 13 をターゲットにしたアプリでの非ラテン文字の行の高さの改善(下)
テキスト変換 API - 日本語や中国語などを話す人は、ふりがなで入力します。そのため、検索やオートコンプリートなどの機能をすばやく使用できないことがあります。Android 13 では、新しいテキスト変換 API (英語) を呼び出すことで、ユーザーが探しているものをすばやく簡単に見つけられるようになります。たとえば、日本語ユーザーが検索をする場合、これまでは(1)検索語句(場所やアプリ名など)の発音をひらがなで入力する(2)キーボードを使ってひらがなを漢字に変換する(3)漢字を使って再検索する(4)検索結果を取得する という手順を踏む必要がありました。新しいテキスト変換 API を使うと、日本語ユーザーがひらがなを直接入力するだけで、漢字の検索結果が直接表示され、手順 2 と 3 を省くことができます。
カラー ベクター フォント - Android 13 では、COLR バージョン 1(仕様 (英語) 、紹介動画 (英語) )フォントのレンダリングがサポートされ、システムの絵文字が COLRv1 形式にアップデートされます。COLRv1 は、非常にコンパクトな新しいフォント形式で、サイズを問わず高速にくっきりと表示できます。システムがすべての処理をしてくれるので、ほとんどのアプリでは何もしなくても動作します。デベロッパー プレビュー 2 より、アプリで COLRv1 をオプトインできるようになります。アプリでシステム フォントを使って独自にテキストをレンダリングしている場合は、オプトインして絵文字のレンダリングをテストすることをおすすめします。COLRv1 の詳細は、Chrome でのお知らせ (英語) をご覧ください。
COLRv1 ベクター絵文字(左)とビットマップの絵文字
Bluetooth LE Audio - LE(低電力)Audio は、従来の Bluetooth に代わる次世代ワイヤレス オーディオで、新しい使用例や接続トポロジーを実現します。これにより、オーディオを共有して友だちや家族にブロードキャストしたり、情報や娯楽、ユーザー補助を目的として一般公開されているブロードキャストを登録したりできるようになります。また、電池寿命を犠牲にすることなく、非常に再現性の高いオーディオを受信し、従来の Bluetooth では不可能だったユースケース間でシームレスな切り替えができるように設計されています。Android 13 は LE Audio をビルトインでサポートするので、デベロッパーは互換デバイスで新機能を無料で利用できます。
MIDI 2.0 - Android 13 は、新しい MIDI 2.0 標準をサポートします。これには、USB 経由で MIDI 2.0 ハードウェアに接続する機能も含まれます。この最新の標準では、コントローラの分解能の増加、西洋以外のイントネーションのサポート強化、音符単位のコントローラによる演奏の表現力向上などの機能が提供されます。
新しいバージョンのプラットフォームをリリースするたびに、アプリの互換性を優先し、迅速かつスムーズにアップデートできるように作業をしています。皆さんが時間に余裕を持てるよう、Android 13 ではアプリに関連する変更がオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
リリースに一歩近づいたデベロッパー プレビュー 2 では、全般的な安定性を改善する作業を続けています。そのため、新機能や変更点を試してフィードバックを送るには、今が絶好のタイミングです。特に、API に関するご意見や、プラットフォームの変更点がアプリに与える影響に関して詳しい情報をお待ちしています。フィードバック ページ (英語) にアクセスし、感想の共有または問題の報告をお願いします。
また、今は互換性テストをして必要な作業を洗い出し始めるべきタイミングでもあります。Android 13 ベータ版 1 までに互換性のあるアップデートをリリースできるように、早めにこの作業をすることをおすすめします。現時点では、アプリの targetSdkVersion を変更する必要はありませんが、開発者向けオプションの動作変更切り替えを使うことをおすすめします。Android 13 の変更点をオプトインすることで、アプリがどのような影響を受ける可能性があるかについての予備知識を得ることができます。
2022 年 7 月に プラットフォームの安定版に到達すると、アプリに関連するすべてのシステム動作、SDK/NDK API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースできます。デベロッパー向けのタイムラインの詳細はこちらをご覧ください。
開発者向けオプションでのアプリの互換性切り替え
デベロッパー プレビューには、Android 13 の機能を試し、アプリをテストしてフィードバック (英語) を提供するために必要なすべてのものが含まれています。Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a(5G)、Pixel 4a、Pixel 4 XL、Pixel 4 のいずれかにデバイス システム イメージを書き込むと、すぐに始めることができます。Pixel デバイスをお持ちでない方は、Android Studio Dolphin で 64 ビット システム イメージと Android Emulator を使うことができます。さらに幅広くテストできるように、GSI イメージも公開しています。すでにプレビュー ビルドを Pixel デバイスにインストールしている方は、今回のアップデートや、今後のプレビューやベータ版をすべて無線(OTA)で自動的に受け取ります。Android 13 を入手する方法はこちらをご覧ください。
その他、詳しい情報はAndroid 13 デベロッパー サイト (英語) でご覧いただけます。
この記事は Dave Burke による Android Developers Blog の記事 " The first developer preview of Android 13 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 2 月 10 日、Android 13 デベロッパー プレビュー 1 を公開しました。本日は、Android の次期リリースの概要を初めてお伝えします。Android 13 では、プライバシーとセキュリティ、デベロッパーの生産性という重要なテーマに取り組み続けます。また、12L で行った最新アップデートをベースとして、現在使われている 2 億 5000 万台以上の大画面 Android デバイスのメリットを活用していただけるようサポートします。
これは、Android 13 の始まりにすぎません。今後リリースに向けて作業を進める中で、さらに多くのことを共有する予定です。以下、新機能の概要について説明します。Pixel 向けのダウンロード (英語) やリリース スケジュール (英語) の詳細については、Android 13 デベロッパー サイト (英語) をご覧ください。いつものように、機能を最終リリースに含めるためには、早い段階でフィードバックを得ることが不可欠です。皆さんの感想を聞くのを楽しみにしています。そして、Android を誰もが使えるプラットフォームにするために、引き続き協力をお願いいたします!
ユーザーは、重要な個人情報や機密情報を安心して預けることができる OS やアプリを求めています。プライバシーは Android の製品理念の中核です。Android 13 では、デバイスで安全な環境を提供し、ユーザーが制御できることを増やす取り組みを通して、あらゆる人のために高品質で責任あるプラットフォームを構築することに主眼を置いています。2022 年 2 月 10 日 のリリースでは、ユーザーが写真や動画を安全にアプリと共有できる写真選択や、アプリが位置情報のパーミッションを取得する必要性を一層少なくするための新しい Wi-Fi パーミッションを導入します。新しい API を試し、変更によってアプリが受ける影響をテストしてみることをお勧めします。
写真選択と API - 写真や動画に関するユーザーのプライバシーを守るため、Android 13 にシステムレベルで写真選択機能を追加します。これは、ユーザーにとって、ローカルとクラウドベースの写真の両方を安全に共有する標準的で最適な方法になります。長年にわたって Android に搭載されているドキュメント選択機能を使うことで、デバイス上のすべてのメディア ファイルを参照するパーミッションを必要とせず、特定のドキュメントをアプリと共有できます。今回の写真選択では、この機能を拡張し、写真や動画を選択する便利な専用機能を追加します。アプリは、写真選択 API (英語) を使って共有された写真や動画にアクセスします。デバイス上のすべてのメディア ファイルを参照するパーミッションは必要ありません。Google Play システム アップデートを通じて、この写真選択をさらに多くの Android ユーザーに提供したいと考えています。Android 11 以降を実行するデバイス (Go デバイスは除く) を対象に、MediaProvider モジュールのアップデートとして提供する予定です。ぜひ写真選択 API を試してみて、フィードバックをお知らせください (英語) !
写真選択を使うと、一貫性のある安全な方法で、
特定の写真や動画へのアクセス権をアプリに与えることができる
ニアバイ デバイスの Wi-Fi パーミッション - Android 13 では、近くにあるアクセス ポイントへの Wi-Fi 接続を管理するアプリに対して、NEARBY_WIFI_DEVICES (英語) ランタイム パーミッション(NEARBY_DEVICES パーミッション グループの一部)を導入します。この新しいパーミッションは、多くの一般的な Wi-Fi API (英語) を呼び出すアプリに必要です。これを持つアプリは、位置情報のパーミッションがなくても、Wi-Fi で近くのデバイスを検出したり、それと接続したりできます。これまで、近くの Wi-Fi デバイスと接続する必要があり、デバイスの位置情報は必要としないアプリにとって、位置情報のパーミッション要件は高いハードルでした。Android 13 をターゲットにするアプリでは、そうする代わりに、NEARBY_WIFI_DEVICES パーミッションと “neverForLocation” フラグ (英語) をリクエストできるようになります。これにより、デベロッパーの手間を減らしつつ、プライバシー フレンドリーなアプリ設計が推進されます。詳しくはこちら (英語) をご覧ください。
Android 13 では、デベロッパーの生産性を向上させる新機能やツールも導入されます。数十億台のデバイスで動作する美しいアプリを作る皆さんをサポートすることは、私たちの中核となるミッションの 1 つです。その点は、Android 13 の仕組みであろうと、愛されている Kotlin 言語や Jetpack のこだわりがある API をはじめとする最先端の Android 開発用のツールであろうと変わりません。皆さんの生産性を上げることで、開発コストを下げ、皆さんがこれからもすばらしいエクスペリエンスの開発に集中できるようにしたいと考えています。以下では、2022 年 2 月 10 日のリリースに含まれている新機能の一部を紹介します。
クイック設定配置 API - 通知シェードのクイック設定は、ユーザーがアプリから離れずに設定を変更したり、すぐにアクションを実行したりできる便利な方法です。カスタムタイル (英語) を提供するアプリのために、ユーザーが簡単にタイルを見つけてクイック設定に追加できるようにします。新しいタイル配置 API (英語) を使うと、カスタムタイルをアクティブなクイック設定タイルに直接追加するプロンプトをアプリから表示できます。新しいシステム ダイアログを使うと、わざわざクイック設定に移動してタイルを追加しなくても、アプリを離れずに 1 つの手順でタイルを追加できます。
テーマ対応アプリアイコン - Android 13 では、Material You のダイナミック カラーを Google アプリ以外にも拡大し、すべてのアプリアイコンで、壁紙などのテーマのプリファレンスの色合いを引き継いだアイコンをオプトインできるようにします。アプリで必要なのは、モノクロのアプリアイコン (英語) 通知ドローアブルなど) を提供し、アダプティブ アイコンの XML を微調整することだけです。オプトインしたユーザーに一貫性のあるエクスペリエンスを提供できるよう、すべてのデベロッパーの皆さんには、互換性のあるアイコンを提供することをお勧めします。テーマ対応アプリアイコンは、まず Pixel デバイスでサポートされます。現在、パートナーのデバイス メーカーと連携して、対応デバイスを増やす作業を進めています。詳しくはこちら (英語) をご覧ください。
アプリごとの言語設定 - アプリによっては、多言語ユーザーのニーズを満たすため、ユーザーがシステム言語とは異なる言語を選べるようになっています。そのようなアプリでは、新しいプラットフォーム API (英語) を呼び出して、ユーザーの優先言語の設定や取得を行えるようになります。これにより、アプリのランタイム言語を設定する際のボイラープレート コードを減らし、互換性を向上させることができます。さらに互換性を向上させるため、同様の API を Jetpack ライブラリにも追加する予定です。詳しくはこちら (英語) をご覧ください。
ハイフネーションの高速化 - ハイフネーションを行うと、折り返されたテキストが読みやすくなり、UI のアダプティブ性が増します。Android 13 では、ハイフネーションのパフォーマンスを最適化して 200% 近く向上させ、TextView で有効化してもレンダリング パフォーマンスにほとんど影響を与えなくなっています。ハイフネーションを高速化するには、setHyphenationFrequency() (英語) で、新しい頻度 fullFast (英語) または normalFast (英語) を使います。ぜひハイフネーションの高速化をお試しいただき、感想をお聞かせください!
プログラマブル シェーダー - Android 13 では、プログラム可能な RuntimeShader (英語) オブジェクトがサポートされます。このオブジェクトの動作は、Android Graphics Shading Language (AGSL) で定義できます。AGSL は、構文は GLSL とほぼ同じですが、Android レンダリング エンジンの内部で動作して、Android キャンバスの描画やビュー コンテンツのフィルタリングをカスタマイズします。Android のリップル エフェクト、ぼかし、ストレッチ オーバースクロールは、内部的にこのシェーダーを使って実装しています。Android 13 では、皆さんのアプリでも同じような高度なエフェクトを作れるようになります。
AGSL アニメーション シェーダー
元になっているのはこちらの GLSL シェーダー
OpenJDK 11 アップデート - Android 13 では、Android のコア ライブラリを刷新して OpenJDK 11 LTS リリースに合わせる作業を始めています。これには、ライブラリのアップデートと、アプリおよびプラットフォーム デベロッパー向けの Java 11 プログラミング言語のサポートの両方が含まれます。また、Google Play システム アップデートにより、さらに多くのデバイスにコア ライブラリの変更を提供することも計画しています。このアップデートは、Android 12 以降を実行するデバイスを対象に、ART モジュール アップデートの一環として行う予定です。詳しくはこちら (英語) をご覧ください。
新しいバージョンのプラットフォームをリリースするたびに、アプリの互換性を優先し、迅速かつスムーズにアップデートできるように作業を行っています。皆さんが時間に余裕を持てるよう、Android 13 ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。
Google Play を経由した Android アップデートの促進 - Android 13 では、デバイスを問わず、一貫性のある安全な環境をアプリに提供するため、また新機能をユーザーに配信するため、Google Play システム アップデート (Project Mainline) 英語) への注力を拡大し続けます。今では、写真選択や OpenJDK 11 などの新機能を、既存モジュールのアップデートという形で古いバージョンの Android ユーザーに直接プッシュできます。Bluetooth や超広帯域無線 (UWB) などの新モジュールも追加され、Android でコア機能をアップデートできる範囲はさらに広がっています。
タブレット、折りたたみ式、Chromebook 向けの最適化 - タブレット、折りたたみ式、Chromebook などの大画面デバイスには勢いがあります。今こそ、アプリをこのようなデバイスに対応させ、どんな画面にも適応できる完全にアダプティブなアプリをデザインしましょう。タブレット向けの最適化ガイドから始めて、大画面向けの開発や折りたたみ式デバイス向けの開発の方法を学ぶことができます。
変更点のテストやデバッグの簡易化 - アプリに影響を与える可能性がある変更点を簡単にオプトインしてテストできるように、今年も多くの変更点を切り替え可能にしています。この切り替えを利用すると、それぞれの変更を開発者向けオプションや adb から強制的に有効化、無効化できます。詳しくはこちら (英語) をご覧ください。
Platform Stability マイルストーン - アプリの互換性作業を計画する時間を長くとれるように、昨年と同様にかなり早いタイミングで Platform Stability マイルストーンをお知らせします。このマイルストーンでは、最終版の SDK や NDK API だけでなく、内部 API やアプリに関連するシステム動作の最終版を配信します。今年は、2022 年 6 月に Platform Stability に到達することを想定しています。その後、数週間の最終テストの期間を経て、公式リリースを迎える予定です。詳しいリリース スケジュールはこちら (英語) をご覧ください。
デベロッパー プレビューには、Android 13 の機能を試し、アプリをテストしてフィードバック (英語) を提供するために必要なすべてのものが含まれています。タブレットや折りたたみ式でアプリのテストを始める一番簡単な方法は、タブレットまたは折りたたみ式設定の Android Emulator を使うことです。完全な設定手順はこちらにあります。スマートフォンの場合は、システム イメージ (英語) を Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a(5G)、Pixel 4a、Pixel 4 XL、Pixel 4 のいずれかのデバイスに書き込むと、すぐに始めることができます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。さらに幅広くテストできるように、GSI イメージも公開しています。
セットアップ (英語) の完了後にやるべきことは、以下のとおりです。
プレビュー システム イメージと SDK は、Android 13 のリリース サイクル期間中、定期的にアップデートされる予定です。このプレビューの第 1 弾リリースは、デベロッパーのみを対象としています。日常的な使用やユーザーの使用を想定したものではありません。そのため、手動のダウンロードでのみ利用できます。プレビュー ビルドを手動でインストールすると、今後のプレビューやベータ版の無線 (OTA) アップデートをすべて自動的に受け取ります。詳しくはこちら (英語) をご覧ください。
ベータ版リリースに近づいたら、ユーザーも招待して Android 13 を試していただく予定です。その際には、Android ベータ版プログラムへの登録もオープンします。現在のところ、Android 13 のベータ版はまだ利用できない点に注意してください。
完全な情報は、Android 13 デベロッパー サイト (英語) でご覧いただけます。
Java および OpenJDK は Oracle および、またはその関連会社の商標または登録商標です。
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 5 update, official release is next! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
まもなく Android 12 が公式リリースを迎えます。現在、新バージョンの Android で最終調整を行っているところですが、皆さんのテストや開発に役立てていただくため、ベータ版の最終アップデートをお届けします。公式リリースに間に合うように、互換性のあるアプリやゲームへのアップデート準備をお願いいたします。
Beta 5 は 2021 年 9 月 8 日(日本時間 9 月 9 日) より、5G 対応の Pixel 5a を含む Pixel デバイスで利用できます。こちらから登録 (英語) すると、OTA(無線)アップデートを受け取ることができます。以前登録している方は、自動的に今回のアップデートを受け取ります。シャープなど、いくつかの主要メーカーの一部のデバイスでも Android 12 Beta 5 を試すことができます。使用を開始する方法についての詳細は、Android 12 デベロッパー サイトにアクセスしてください。
以下では、リリースが近づいてきた Android 12 公式版に関する情報をお伝えします。
2021 年 9 月 8 日(日本時間 9 月 9 日) のアップデートには、Pixel などのデバイスと Android Emulator 向けの Android 12 のリリース候補ビルドが含まれています。Beta 4 でプラットフォームの安定版に到達しているので、SDK や NDK API、アプリに面するシステムの動作、非 SDK インターフェースの制限など、アプリに面する部分はすべて完了しています。Beta 5 には、これらの機能と最新の修正および最適化が含まれており、テストを終えるために必要なものがすべてそろっています。
次に予定されているのは、Android 12 の公式リリースです。そのため、すべてのアプリやゲームのデベロッパーの皆さんに、最終リリース前に最終の互換性テストを終え、互換性アップデートを公開することをお願いします。SDK、ライブラリ、ツール、ゲームエンジン デベロッパーの皆さんは、できる限り早く互換性アップデートをリリースすることが重要です。下流のアプリやゲームのデベロッパーは、皆さんのアップデートを受け取るまで作業できないかもしれません。
アプリの互換性をテストするには、Android 12 Beta 5 が動作するデバイスにインストールし、アプリのフローを確認して機能や UI の問題を探します。Android 12 でのすべてのアプリが対象となる動作の変更点を確認し、影響を受ける可能性がある領域を集中的にテストしてください。特にテストしておくべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。SDK の問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを受けるようお願いします。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 12 をターゲットとするアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。
Android 12 には、優れたユーザー エクスペリエンスを構築する際に役立つたくさんの新機能が含まれています。Google I/O での Android 12 関連のセッションに関するまとめとリンクについては、Android 12 Beta 2 の投稿をご覧ください。すべての新しい機能と API の詳しい説明は、Android 12 デベロッパー サイトをご覧ください。
Android 12 の開発やテストには、ぜひ Android Studio Arctic Fox もお試しください。Android 12 の変更点によって影響を受ける可能性があるコードを特定しやすいように、lint チェックも追加しています。たとえば、スプラッシュ画面のカスタム宣言、高精度の位置情報の使用がリクエストされた際の大まかな位置情報の権限、メディア フォーマット、高センサー サンプリング レートの権限などです。ダウンロード (英語) と設定を行うと、最新版の Android Studio を試すことができます。
今回の Beta 5 のリリースには、Android 12 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
シャープなど、いくつかの主要メーカーのデバイスでも、Beta 5 を試すことができます。さらに幅広くテストしたい場合は、Android GSI イメージで Beta 5 をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。今回のアップデートは Android TV でも利用できる (英語) ので、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリをテストしたりできます。
もうすぐ予定されているAndroid 12 公式版リリースにご期待ください!それまでの間は、引き続きフィードバックをお寄せください。プラットフォームの問題、アプリの互換性の問題、サードパーティ SDK の問題の送信には、各ホットリストを使うことができます。
Android 12 リリースを形作ることに貢献してくださっているデベロッパー コミュニティの皆さんに深い感謝を捧げます。皆さんから寄せられたたくさんのバグレポートや、皆さんが共有してくれた知見は、API の調整や機能の改善、重大なバグの修正、そしてユーザーやデベロッパーにとってよりよいプラットフォームの実現に役立っています。ありがとうございます。
Android 12 に対応した皆さんのアプリを楽しみにしています。
Reviewed by Tamao Imura - Developer Marketing Manager, Google Play
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 4 and Platform Stability " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
デベロッパーの皆さんにとって、Beta 4 は プラットフォームの安定版 を意味します。つまり、Android 12 の API とアプリに面する動作がすべて確定します。アプリやゲームにとっては、互換性と品質に注力していただく時期です。今年後半の公式リリースに間に合うように、互換性のあるアプリやゲームへのアップデート準備をお願いいたします。
Beta 4 は、Pixel デバイスで試すことができます。こちらから登録 (英語) するとOTA (無線)アップデートを受け取ることができます。以前登録している方は、自動的に今回のアップデートを受け取ります。ASUS、OnePlus、Oppo、realme、シャープ、ZTE など、いくつかのパートナーの一部のデバイスでも Android 12 Beta 4 を試すことができます。詳しくは android.com/beta をご覧ください。使用を開始する方法についての詳細は、Android 12 デベロッパー サイトにアクセスしてください。
Android 12 Beta 4 は、プラットフォームの安定版 に到達しました。これは、Android 12 のアプリに面する部分とその動作がすべて確定したことを示すマイルストーンです。公式の SDK と NDK API だけでなく、アプリに影響する可能性がある非 SDK インターフェースでも、アプリに面するシステム動作や制限が確定します。Beta 4 以降では、プラットフォームが変更されないことがわかっているので、安心して互換性アップデートをリリースできます。スケジュールの詳細はこちらをご覧ください。
すべてのアプリとゲームのデベロッパーは、最終リリース前にできるだけ早く最終の互換性テストを開始し、互換性アップデートを公開する準備をしてください。
すべての SDK、ライブラリ、ツール、ゲームエンジン デベロッパーの皆さんは、今すぐテストを始めて、できる限り早く互換性アップデートをリリースすることが非常に重要です。下流のアプリやゲームのデベロッパーは、皆さんのアップデートを受け取るまで作業できないかもしれません。互換性アップデートをリリースしたら、デベロッパーに向けてアナウンスしてください。
Android アプリの互換性とは、新しいバージョンのプラットフォームでアプリが意図したとおりに動作することを意味します。アプリの互換性は、デバイスかエミュレータに公開版のアプリをインストールしてテストするだけで確認できます。アプリの表示が問題なく、正しく動作すれば、それで終了です。そのアプリには互換性があります。
アプリの互換性テストは重要です。なぜなら、リリースごとにプラットフォームに必要な変更を行い、プライバシーやセキュリティを改善したり、OS 全体のユーザー エクスペリエンスを向上させたりしているからです。これにより、アプリに影響が生じる可能性もあります。そのため、すべてのアプリの動作の変更点についてのドキュメントを確認してテストし、ユーザーに互換性アップデートを公開する必要があります。アプリで優れたユーザー エクスペリエンスを確保するために、このレベルの品質は基本的かつ不可欠です。
デバイスを Android 12 にアップデートしたユーザーは、最新バージョンの Android やお気に入りのアプリやゲームを試してみたくなるでしょう。アプリやゲームが正しく動作しないと、大きな問題になり、結果的にアンインストールにつながります。
利用できる新しい API や機能はたくさんありますが、まずは現在のアプリをテストし、互換性アップデートをリリースするところから始めましょう。
Android 12 でのアプリの互換性テストは、Android 12 Beta 4 を実行しているデバイスに Google Play や他のソースから公開版のアプリをインストールするだけで行うことができます。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。すべてのアプリが対象となる Android 12 の動作の変更点を確認し、集中的にテストを行ってください。特に注意すべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを受けるようお願いします。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 12 をターゲットとするアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。以下に、テストが必要な変更点の一部を記載します(targetSdkVersion が 31 以上のアプリに適用されます)。
SCHEDULE_EXACT_ALARM
android:exported
テストでは、制限されている非 SDK インターフェースが使用されていないかも確認し、存在する場合は同等のパブリック SDK に移行します。制限されている API については、こちらをご覧ください。
今回のベータ版リリースには、Android 12 の機能を試し、アプリをテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
ASUS、OnePlus、Oppo、realme、シャープ、ZTE など、いくつかの主要メーカーのデバイスでも Android 12 Beta 4 を試すことができます。Android 12 Beta に対応しているデバイスとパートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta 4 をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 4 は Android TV でも利用できるので、ADT-3 デベロッパー キットを使って、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリをテストしたりできます。詳しくはこちらをご覧ください。(英語)
数週間後には、最終テスト用のリリース候補として、最後のベータ版をお届けする予定です。
Android 12 Betaの詳細については、Android 12 デベロッパー サイトをご覧ください。
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 Beta 3 and final APIs " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
私たちは、毎月 Android 12 の公式版リリースに近づけるための Beta 提供をを行っています。Android 12 には、革新的な機能や、ユーザーに適応する (英語) 新しい UI、パフォーマンスの向上、プライバシーの強化、セキュリティ上のメリットなどが含まれています。多くの皆さんが、Android 12 Beta プログラムを通じて既に Android 12 の開発やテストを行っています。これまでフィードバックを提供してくださった皆さん、どうもありがとうございました。
引き続き公式版のリリースを微調整する作業を継続していますが、先日 2021 年 7 月 14 日 (現地時間)にAndroid 12 Beta 3 をリリースしました。ぜひお試しください。Beta 3 には、スクロール スクリーンショット、プライバシー インジケーター API、自動回転の強化などのアップデートとともに、確定版の Android 12 API と公式 SDK も含まれています。以上の機能をもって、次回の Beta 4 での Platform Stability を待たずに、アプリのテストとアップデートを開始することができます。ぜひご自身のアプリやゲームのご準備をお願いいたします。
Beta 3 は、既に対象となる Pixel デバイスで利用でき、こちらから登録 (英語) すると OTA (無線) アップデートも行えます。Beta プログラムに登録済みの方は、自動的にアップデートを受け取ります。パートナーのデバイスメーカーである、シャープや TCL などの、一部のデバイスでも Android 12 Beta 3 を試すことができます。詳しくは android.com/beta をご覧ください。使用を開始する方法について詳しくは、Android 12 デベロッパー サイトにアクセスしてください。
Beta 3 には、機能、ユーザー エクスペリエンス、パフォーマンスを改善する様々なアップデートが含まれています。ここでは、いくつかのポイントを紹介します。
スクロール スクリーンショット - スクロールするコンテンツを簡単にキャプチャして共有できるように、スクロール スクリーンショットを追加します。Beta 3 以降では、スクロール可能なコンテンツのスクリーンショットをキャプチャする場合、[Capture more] ボタンが表示され、それを押すことでスクリーンショットを全コンテンツに拡張できます。その後、切り取る範囲を調整することもできます。
設定アプリでのスクロール スクリーンショットのキャプチャ例
スクロール スクリーンショットは、ほとんどのアプリでそのまま動作します。標準のビューベースの UI を使っているアプリでは、何の変更も必要ありません。ビューベースの UI を使わないアプリや UI ツールキット、または高度にカスタマイズされた UI でスクロール スクリーンショットをサポートするために、新しい ScrollCapture API (英語) を導入しています。この API を使うと、システムはアプリにスクロール キャプチャ リクエストを通知するとともに、UI を描画する Surface を提供します。スクロール スクリーンショットに関する反復作業はまだ続いています。Beta 4 では、スクロールする ListView など、デフォルトのサポートが改善される予定です。また、Web コンテンツなどサポート対象のコンテンツを増やすための作業も行っています。引き続き、皆さんのフィードバックをお待ちしています。
オンデバイス検索 - Beta 3 では、新しい高パフォーマンス オンデバイス検索エンジンである AppSearch がプラットフォームでサポートされます。AppSearch (英語) を使うと、アプリが構造化データをインデックスに登録したり、組み込みの全文検索機能を使って検索したりできます。非常に効率的なインデックスの登録や検索、多言語サポート、関連度ランキングなどのネイティブ機能を使うこともできます。
AppSearch には、ローカル インデックスとセントラル インデックスという 2 つの仕組みを搭載しています。ローカル インデックスはアプリで利用でき、新しい AppSearch Jetpack ライブラリを通して下位互換性も提供されます。セントラル インデックスは、Android 12(およびそれ以降のリリース)のシステム全体で維持されます。セントラル インデックスを利用すると、オプトアウトしない限り、システム UI の表層にアプリのデータが表示されます。さらに、他のアプリと安全にデータを共有し、自分のアプリのデータだけでなく他のアプリのデータも検索できるようになります。詳しくはこちらをご覧ください。(英語)
WindowInsets のプライバシー インジケーター API - Beta 2 では、アプリがデバイスのカメラまたはマイクを使っているときに、ステータスバーにプライバシー インジケーターが表示されるようになりました。アプリが没入モードのときにインジケーターが表示されると、コントロールやコンテンツが隠れてしまう可能性があるので、アプリはインジケーターを描画できる場所を把握し、有用なコンテンツが隠れないように必要な調整を行う必要があります。Beta 3 では、WindowInsets (英語) に新しくプライバシー インジケーター API (英語) を追加します。これを使うと、インジケーターの最大領域と画面上での相対的位置を取得できます。現在の画面の向きや言語設定も考慮されます。詳しくはこちらをご覧ください。
カメラとマイクの切り替えの企業設定 - Beta 2 では、新しい切り替え機能も導入し、すべてのアプリでユーザーが即座にデバイスのマイクやカメラをオフにできるようにしました。フルマネージド デバイスに必要な制限を設定できる企業の管理者は、この機能にアクセスできるようになります。詳しくはこちらをご覧ください。(英語)
CDM でペア設定され、フォアグラウンド サービスを開始するアプリの新しいパーミッション - システムの透過性を提供しつつ、コア機能を担うコンパニオン アプリのサポートを向上させるため、Companion Device Manager(CDM)とペア設定されたアプリは、新しい通常のパーミッションを宣言することで、バックグラウンドからフォアグラウンド サービスを起動できます。詳しくはこちらをご覧ください。(英語)
自動回転の向上と高速化 - 画面を回転させるタイミングを正確に認識できるように、前面カメラによる顔検出を使って Android の自動回転機能を強化しました。この機能は、ソファやベッドで横になりながらデバイスを使う場合などに特に便利です。デベロッパーにとっては、ユーザーが設定でオプトインした場合、自動回転の動作のユーザー エクスペリエンスが向上することになります。この自動回転機能の強化は、最近発表された Private Compute Core (英語) の機能です。そのため、画像が保存されたり、デバイス外に送信されたりすることはありません。Beta 3 では、この機能は Pixel 4 以降の Pixel デバイスで利用できます。
すべてのデバイスで画面の回転をできる限り高速化するため、アニメーションと再描画を最適化し、ML を利用したジェスチャー検知アルゴリズムを追加しました。その結果、ベースとなる自動回転機能の遅延が 25% 減少しました。顔検出による機能強化は、これらの改善が土台となっています。ぜひ改善された自動回転機能をお試しいただき、感想をお聞かせください。
ゲームに向けた Android 12 - Game Mode API (英語) を使うと、プレーヤーがゲームのパフォーマンス プロファイル(長時間通勤用に電池寿命を延ばす、パフォーマンス モードで最高のフレームレートを実現するなど)を選択する操作に応答できます。この API は、近日中に公開されるゲーム ダッシュボードと連携します。ダッシュボードでは、ゲームプレイ中に重要なユーティリティにすばやくアクセスできるオーバーレイ エクスペリエンスが提供されます。ゲーム ダッシュボードは、一部のデバイスで今年中に利用できるようになる予定です。
Android 12 での Touchgrind BMX の Play as you download
それまでの間は、インストール時にバックグラウンドでゲームアセットをフェッチできるようにする Play as you download (英語) を使って、プレーヤーをすばやくゲームプレイに導くことができます。
Android 12 のすべての新機能について知りたい方は、Android 12 デベロッパー Web サイトをご覧ください。
この数週間、Android 12 API を確定する作業を行ってきました。そして Beta 3 で、公式の API レベル 31 SDK と併せて確定版 API をリリースします。Beta 4 では完全な プラットフォームの安定版に到達する予定です。この段階では、API サーフェスに加えて、アプリ向けのすべてのシステム動作と非 SDK インターフェースの制限も確定します。
Android 12 API でアプリをコンパイルする場合は、今回のリリースを使って環境をアップデートし、確定版の SDK と最新ツールでアプリを再コンパイルすることをお勧めします。
Pixel などの対応デバイスで Android 12 Beta を利用するアーリー アダプターやデベロッパーが増えてきた今が、アプリを Android 12 Beta 3 に対応する絶好のタイミングです。
Beta 3 でアプリの互換性テストを行うには、Android 12 Beta を実行しているデバイスかエミュレータに、Google Play や他のソースで公開されているバージョンをインストールします。そしてアプリのすべてのフローを試し、機能や UI の問題を探します。変更によってアプリが影響を受ける領域を集中的にテストするため、動作の変更点を確認してください。この段階では、アプリの targetSdkVersion を変更する必要はありません。問題が解決できたら、Android 12 Beta のユーザー向けにできる限り早くアップデートを公開することをお勧めします。
前述のとおり、Android 12 は次のリリースとなる Beta 4 で Platform Stability に到達します。Platform Stability では、アプリに面するすべての動作、SDK/NDK API、非 SDK 制限が確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリのリリースをしてください。デベロッパー向けの Android 12 のタイムラインの詳細は、こちらをご覧ください。
今回の Andorid 12 Beta 3 リリースには、Android 12 の最新機能を試し、アプリの動作をテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
Android 12 Beta 3 は、シャープや TCL などの一部の主要メーカー パートナーのデバイスでも利用できます。Android 12 Beta に対応しているデバイス パートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 3 は Android TV でも利用できるので、ADT-3 デベロッパーキットを使って、新しくなった Google TV エクスペリエンスで最新の TV 機能を確認したり、アプリをテストしたりできます。詳しくはこちらをご覧ください。(英語)
Android 12 Beta の詳細については、Android 12 デベロッパー Web サイトをご覧ください。
この記事は Dave Burke による Android Developers Blog の記事 "Android 12 Beta 2 Update" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
先月の Google I/O で、Android 12 最初のベータ版をリリースしました。Android 12 Beta 1 でリリースした注目の機能は、プライバシーとセキュリティを中核とした、ユーザーに適応する新しい UI や、パフォーマンスの向上が行われていることでした。デベロッパーにとって Android 12 は、スマートフォン、ノートパソコン、タブレット、ウェアラブル、TV、自動車で快適なエクスペリエンスを実現するための優れたツールです。
そして先日 2021 年 6 月 10 日(現地時間 6 月 9 日)、Android 12 Beta 2 をリリースしました。Android 12 Beta 2 では、プライバシー ダッシュボードなどの新しいプライバシー機能が追加されているほか、リリースを微調整する作業も継続しています。
Android 12 は、UI の再設計から、アプリ ウィジェット、高度な触覚機能、動画や画像の品質向上、おおよその位置情報などのプライバシー機能まで、あらゆる面で多くの変更が加えられました。関連する Google I/O セッションの要約は、後述の「Google I/O で発表した Android 12 関連情報」をご覧ください。
Android 12 Beta 2 は、 6 月 10 日より Pixel デバイスで利用でき、こちらから登録すると無線(OTA)アップデートを受信することができます。以前 Android 12 Beta 1 をインストールしているデバイスは、自動的に Beta 2 のアップデートを受信します。Android 12 Beta 2 は、一部のパートナーのデバイスでも利用できます。詳しくは、android.com/beta をご覧ください。
Android 12 Beta 2 をインストールする方法について、詳しくは Android 12 デベロッパー Web サイトをご覧ください。
今回の Beta 2 には、Google I/O でお話ししたいくつかの新しいプライバシー機能に加えて、機能、安定性、パフォーマンスを改善するためのさまざまな機能アップデートが含まれています。ここでは、いくつかのポイントをご紹介します。
プライバシー ダッシュボード - アプリがアクセスするデータについての視認性を向上させるため、プライバシー ダッシュボードを追加しました。このダッシュボードには、マイク、カメラ、位置情報にアクセスした最近のアプリが、シンプルで明確なタイムライン形式で表示されます。ユーザーはアプリに対して、プライベートなデータにアクセスする詳しい理由をリクエストできます。デベロッパーは、アクティビティで新しいシステム インテント ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD を利用してこの情報を提供できます。
アプリでこのインテントを活用し、指定された期間内のアクセスについてユーザーが理解できるよう積極的に対応することをお勧めします。自分のコードやサードパーティ製ライブラリのアクセスをトラッキングしたい場合は、Data Auditing API を利用できます。詳しくはこちらをご覧ください。
プライバシー ダッシュボードと位置情報アクセスのタイムライン
マイクとカメラのインジケーター - ステータスバーにインジケーターを追加し、アプリがデバイスのカメラやマイクを使っているときにユーザーがそれを認識できるようにしました。ユーザーがクイック設定に移動すると、どのアプリがカメラやマイクのデータにアクセスしているかを確認したり、必要に応じてパーミッションを管理したりできます。デベロッパーは、アプリでのマイクやカメラの使用について確認し、ユーザーが予期しない形で使用している場合はそれを削除するようにしてください。詳しくはこちらをご覧ください。
マイクとカメラの切り替え - マイクやカメラに対するアプリからのアクセスをすぐに簡単に無効化できるように、サポート対象のデバイスで、クイック設定に切り替え機能を追加しました。これをオフにすると、アプリからセンサーにアクセスしても、カメラや音声のフィードは空になります。その際にシステムは、アプリの機能を使うにはアクセスを有効化する必要があることを通知します。デベロッパーは、新しい API SensorPrivacyManager を使って、デバイスで切り替えがサポートされているかどうかを確認できます。
マイクとカメラの制御は、アプリのプラットフォームのターゲットにかかわらず、すべてのアプリに適用されます。詳しくはこちらをご覧ください。
クリップボード読み取り通知 - アプリがクリップボードを読み取っていることを明示的にするため、Android 12 では、アプリが getPrimaryClip() を呼び出すたびに画面下にトーストが表示されます。クリップボードにコピーしたのが同じアプリである場合、トーストは表示されません。アプリからのクリップボードの読み取りは最小限にとどめ、ユーザーが予測できる形でのみクリップボードにアクセスすることをお勧めします。詳しくはこちらをご覧ください。
接続エクスペリエンスの直感性向上 - ユーザーによるネットワーク接続の理解と管理を向上するため、ステータスバー、クイック設定、設定に、よりシンプルで直感的な接続エクスペリエンスを導入します。新しいインターネット パネルを使うと、ユーザーは簡単にインターネット プロバイダを切り替えたり、ネットワーク接続の問題のトラブルシューティングなどが行えます。
クイック設定による新しいインターネット コントロール
Google I/O では、Android 12 から最先端の Android 開発ツール、Wear や折りたたみ式デバイスなどの新しいフォーム ファクタ、Google Play まで、デベロッパー向けの Android の新機能についてお話ししました。ここでは、Google I/O の Android 12 関連の話題のうち、押さえておきたいトップ 3 をご紹介します。
#1 Android 向けの新しい UI - Android 12 では、Android 史上最大のデザイン変更が行われました。色、形状、明るさ、動きなど、エクスペリエンス全体を再考し、Material You と呼ばれる 1 つのデザイン言語によって Android 12 の表現力、ダイナミックさ、パーソナル性を高めています。
#2 パフォーマンス - Android 12 では、根本的なシステムのパフォーマンス、バッテリーの寿命、フォアグラウンド サービスの変更、メディアの品質とパフォーマンス、アプリを最適化するための新ツールなど、パフォーマンスを向上する大規模な変更を行っています。
#3 プライバシーとセキュリティ - Android 12 でも引き続き、ユーザーのデバイスとデータのセキュリティを保護しながら、透明性と制御性を高めることに努めています。
デベロッパー向けの Android 12 の機能概要を確認したい方は、今年の What's new in Android セッションをご覧ください。アプリの互換性テストに関する概要を確認したい方は、Top 12 tips to get ready for Android 12 セッションをご覧ください。Google I/O のすべての Android 関連のコンテンツは、こちらからご確認ください。
Pixel などの対応デバイスで Android 12 Beta を利用するアーリー アダプターやデベロッパーが増えてきた今が、アプリを Android 12 Beta 2 対応にする絶好のタイミングです。
アプリの互換性テストを行うには、Android 12 Beta を実行しているデバイスかエミュレータに、Google Play や他のソースで公開されているバージョンをインストールします。そしてアプリのすべてのフローを試し、機能や UI の問題を確認します。
特に注意してテストを行うべき点については、動作の変更点を参照してください。現時点でアプリの targetSdkVersion を変更する必要はありません。そのため、問題を解決でき次第、Android 12 Beta ユーザーのためにできる限り早くアップデートを公開しましょう。
Beta 2 をリリースしたので、Android 12 は 2021 年 8 月の Platform Stability に近づいています。その時点で、アプリに関連するシステムの動作、SDK/NDK の API、非 SDK リストが確定します。このタイミングで最終的な互換性テストを終え、完全に互換性があるバージョンのアプリ、SDK、ライブラリをリリースしてください。デベロッパー向けのタイムラインの詳細は、こちらをご覧ください。
今回の Android 12 Beta 2 リリースには、Android 12 の最新機能を試し、あなたのアプリの動作をテストしてフィードバックを提供するために必要なすべてのものが含まれています。サポート対象となっている Pixel デバイスを登録するだけで、OTA(無線)でアップデートを入手できます。また、Android 12 に対応したアプリの開発を行うために、Android 12 SDK をセットアップしてください。
Android 12 Beta 2 は、Sharp などの一部の主要メーカー パートナーのデバイスでも利用できます。Android 12 Beta に対応しているデバイス パートナーの全リストは、android.com/beta に掲載されています。さらに幅広くテストしたい場合は、Android GSI イメージで Android 12 Beta をお試しください。デバイスをお持ちでない場合は、Android Emulator でテストできます。
Beta 2 は Android TV でも利用できるので、最新の TV 機能を確認したり、新しくなった Google TV エクスペリエンスでアプリの動作をテストできます。ADT-3 デベロッパー キットをお使いください。詳しくはこちらをご覧ください。
Reviewed by Takeshi Hagikura - Developer Relations Team and Hidenori Fujii - Head of APAC Developer Marketing, P&E