この記事は Maru Ahues Bouza による Android Developers Blog の記事 " Beta 1 Update for 12L feature drop! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
昨年 10 月の Android Dev Summit では、タブレット、折りたたみ式、Chromebook などの大画面デバイスが成長を続けていることをお知らせしました。こういったデバイスで、新しい Jetpack API やツール、ガイドを通して優れたアプリ エクスペリエンスを構築しやすくする取り組みについてもお話ししました。さらに、大画面向けに構築された Android 12 のフィーチャー ドロップである 12L のデベロッパー プレビューについても紹介しました。
12L では、大画面向けのシステム UI を最適化して磨きをかけ、マルチタスクをさらに強力で直感的なものにし、何もしなくても見栄えのよいアプリになるように互換性サポートを改善しています。12L には、いくつかのデベロッパー向け新 API が含まれています。たとえば、空間オーディオやドラッグ&ドロップ関連のユーザー補助の改善などです。
12L の最初のベータ版は昨年 12 月にリリースしました。このフィーチャー ドロップは、今年初めに公開する予定です。皆さんのアプリを対応させるうえで、テストやフィードバックにご利用ください。Android Studio で Android エミュレータを設定すると、新しい大画面機能を試すことができます。12L はスマートフォンにも対応しています。こちらから登録すると、サポート対象の Pixel デバイスに 12L のベータ版 1 をインストールできます。Android 12 ベータ プログラムに引き続き登録している方は、自動的に 12L のアップデートを取得します。Lenovo との連携により、12L は Lenovo Tab P12 Pro タブレットでも試すことができます。利用可能なビルドやサポートに関する詳細は、Lenovo のサイト(英語) をご覧ください。
ベータ版 1 ビルドには、機能やユーザー エクスペリエンスの改善に加え、最新のバグの修正、最適化、2021 年 12 月のセキュリティ パッチが含まれています。デベロッパー向けの機能としては、すでに API は確定しているので、ベータ版 1 には正式版の 12L API(API レベル 32)、アップデートされたビルドツール、テスト用のシステム イメージが含まれています。つまり、アプリで 12L の機能をテストするために必要なものがすべてそろいます。
12L では、通知、クイック設定、ロック画面、概要、ホーム画面など、大画面デバイスの UI を洗練させることに集中的に取り組んでいます。たとえば、600dp 以上の画面では、スペースを有効活用するため、通知シェードやロック画面などのシステム領域で新しい 2 列レイアウトを利用します。
2 列レイアウトでは表示内容が多くなり使いやすさが向上
マルチタスクもさらに強力で直感的なものに進化しています。12L には、大画面用の新しいタスクバーが含まれており、ユーザーは即座にお気に入りのアプリに切り替えたり、ドラッグ&ドロップして分割画面モードに切り替えたりすることができます。なお、Android 12 以降では、アプリがサイズ変更可能かどうかに関係なく、どんなアプリでも分割画面モードで起動できます。分割画面モードでアプリをテストすることを忘れないようにしましょう。
アプリをドラッグ&ドロップして分割画面モードに
さらに、互換性モードの外観と安定性を改善し、レターボックス表示の際のユーザー エクスペリエンスを向上させるとともに、デフォルトでアプリの見栄えがよくなるようにしています。アプリで大画面向けの最適化が済んでいない場合でも、新しいレターボックス表示のテストは行うようにしてください。
大画面向けにアプリを最適化する際に、優れたユーザー エクスペリエンスを簡単に実現できる最新の API やツールをいくつか用意します。
以上の機能の詳しい内容や、その他の API やツールについては、大画面デベロッパー リソースをご覧ください。
12L フィーチャー ドロップは今年始めにデバイスに配信される予定なので、今がアプリを大画面向けに最適化する絶好の機会です。デベロッパーの皆さんには、さまざまなサイズのウィンドウの分割画面モードで、アプリの動作を確認しておくことを強くおすすめします。まだアプリを最適化していない方は、さまざまな画面の向きでどのように表示されるかを確認し、必要に応じて新しい互換性モード関連の変更点を試してみてください。
大画面機能を試してみる一番簡単な方法は、折りたたみ式またはタブレットの設定で Android Emulator を使うことです。こちらにすべての設定手順が記載されているので、ご覧ください。
大画面デバイスに 12L を書き込むこともできるようになっています。Lenovo との連携により、Lenovo Tab P12 Pro でも 12L のプレビュー ビルドを試すことができます。現時点で、Lenovo はデベロッパー プレビュー 1 ビルドを提供しています。今後数週間のうちにアップデートが公開される予定です。利用可能なビルドやサポートなど、完全な情報は Lenovo の 12L プレビュー サイト (英語) をご覧ください。
12L はスマートフォンにも適用されます。小さな画面では大画面機能を確認できませんが、ぜひこのフィーチャー ドロップによる最新の改善点をお試しいただければと思います。サポート対象の Pixel デバイスをこちらから登録すると、最新の 12L ベータ版アップデートを OTA (無線)で受け取ることができます。Android 12 ベータ プログラムに引き続き登録している方は、自動的に 12L アップデートを受け取ります。
12L の詳細やリリース スケジュールは、12L デベロッパー サイトをご覧ください。問題点やリクエストはこちらから報告できます。いつものように、皆さんのフィードバックをお待ちしています!
Reviewed by Tamao Imura - Developer Marketing Manager, Google Play
この記事は Dave Burke による Android Developers Blog の記事 " 12L and new Android APIs and tools for large screens " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
タブレット、折りたたみ式デバイス、ChromeOS デバイスを合わせると、2 億 5000 万台を超える大画面デバイスが Android を実行しています。ここ 12 か月だけでも、1 億台近くの新しい Android タブレットがアクティベートされました。これは前年比 20% の増加です。現在最も成長が著しいデスクトップ プラットフォームである ChromeOS は、92% の増加率となっていますが、さらに、折りたたみ式デバイスも急増中で、前年比 265% 以上の成長を遂げています。すべて合わせれば、Android が動作しているアクティブな大画面デバイスは 2 億 5000 万台を超えます。その勢いを受けて、このようなデバイスで動作している Android を、ユーザーにとってもデベロッパーにとってもよりよい OS にするために、私たちは努力を続けています。
そこで 2021 年 10 月 27 日 (日本時間:10 月 28 日) の Android Dev Summit (英語、動画は日本語字幕あり) では、大画面に特化した Android 12 のフィーチャー ドロップについてお知らせしました。私たちはこれを 12L と呼んでいます。併せて、大画面向けの開発を容易にするための新 API や新ツール、ガイダンスも準備しています。さらに、Google Play で行っている変更についてもお話ししました。これにより、ユーザーは大画面に最適化されたアプリをこれまで以上に簡単に見つけられるようになります。ここでは、Android の大画面向け新機能について紹介しますので、ぜひお読みください。
先月、12L のデベロッパー プレビュー を提供しました。これは今後公開する予定のフィーチャー ドロップで、Android 12 を大画面でさらに快適に使えるようにするものです。このプレビューを使って、大画面関連の新機能を試したり、自分のアプリを最適化したり、フィードバックの送信が可能です。
12L では、通知、クイック設定、ロック画面、概要、ホーム画面など、大画面向けの UI 全般を改善しました。たとえば、画面領域を有効活用するため、600dp を超える画面では、通知シェードやロック画面、その他のシステム表示を新しい 2 列レイアウトで表示します。システムアプリも最適化されます。
2 列レイアウトによって表示できる内容が増加し、さらに使いやすいものに
また、マルチタスクをこれまで以上に強力で直感的なものにしました。12L では大画面で新しいタスクバーが搭載されるので、ユーザーはすぐにお気に入りのアプリに切り替えることができます。このタスクバーのおかげで、分割画面モードもこれまで以上にわかりやすくなり、タスクバーからドラッグ&ドロップするだけで、アプリを分割画面モードで実行できるようになります。また、Android 12 以降で分割画面モードの操作性を向上させるため、アプリがサイズ変更可能かどうかにかかわらず、すべてのアプリを自動的に分割画面モードに対応させます。
アプリをドラッグ&ドロップして分割画面モードで実行
さらに、互換性モードを改善して見た目と安定性を向上させ、レターボックス表示の快適さを向上させたほか、アプリのデフォルトでの外観も改善しました。レターボックス表示は、デバイス メーカーが簡単にカスタマイズできるようになっているので、カスタムの色や処理を設定したり、はめ込むウィンドウの位置を調整したり、カスタムの角丸を適用したりできるようになっています。
Android 12 のタブレットや折りたたみ式デバイスが次にまとまって登場するタイミングに間に合うように、12L のフィーチャー ドロップは来年の早い時期にリリースする計画です。以上のような機能を大画面デバイスに導入するため、私たちは既に OEM パートナーと協力して作業を進めています。近日中に 12L のデベロッパー プレビューが Lenovo P12 Pro (日本未発表) に搭載される予定なので、ご期待ください。数か月後には、この機能がデバイスに配信されます。今から大画面向けに最適化したアプリの準備を入念にしておきましょう。
デベロッパーの皆さんには、さまざまなサイズのウィンドウの分割画面モードでアプリがどのように動作するかを確かめておくことを強くお勧めします。まだアプリを最適化していない方は、画面の向きを変えたときにどう見えるかを確認し、新しい互換性モードの変更が適用される場合はそれを試してみましょう。12L には、大画面向け機能のほかにも、いくつかのデベロッパー向けの新 API や、新しい API レベルが含まれています。アプリに互換性を破る変更が起こらないように注意しているので、アプリのターゲットを 12L にしなくても Google Play 要件を満たすことができます。
12L を使ってみたい方は、Android Studio の最新プレビュー リリースから、12L Android Emulator のシステム イメージやツールをダウンロードしてください。機能と変更点を確認してアプリをテストする領域を判断し、プレビューの概要でスケジュールやリリースの詳細をご確認ください。問題やリクエストはこちらから報告できます。そしていつものように、フィードバックは大歓迎です。
12L はスマートフォンでも利用できますが、ほとんどの新機能は小さな画面では確認できません。現在、私たちはタブレット、折りたたみ式デバイス、ChromeOS デバイスに重点的に対応しています。今後のプレビューでは、Pixel デバイス向けに Android ベータ版への登録をオープンする予定です。詳しくは、developer.android.com/12L をご覧ください。
どんな画面にも適応する完全にアダプティブなアプリを作り始める時です。そして、それを今まで以上に簡単に実現できるようにしています。OS や Play でアプリの変更に対応できるように、デベロッパー プレビューと併せて API やツール、ガイダンスのアップデートを公開します。
アダプティブ UI をサポートするための第一歩は、小さな画面と大きな画面の両方でうまく動作するアプリを設計することです。私たちは、アプリの UI をあらゆる画面サイズに対応させる際に役立ててもらうため、新しいマテリアル デザインのガイダンス (英語) の作成を進めてきました。このガイダンスは、エコシステムでよく使われている一般的なレイアウト パターンをカバーしているので、さまざまなアイデアが得られるだけでなく、作業を加速することにもつながるはずです。
マテリアル デザインのガイドライン、アダプティブ UI パターン
最高のナビゲーション エクスペリエンスをユーザーに提供するには、ユーザーが使うデバイスのウィンドウ サイズ クラスに合わせたナビゲーション UI を提供する必要があります。私たちが推奨するナビゲーション パターンには、コンパクトな画面(compact)ではナビゲーション バー (英語) を使う、中程度(medium)以上の画面幅(600dp 以上)のデバイスクラスではナビゲーション レール (英語) を使う、などがあります。新たに公開したマテリアル デザインのガイダンス (英語) には、広い画面幅(expanded)のデバイス向けに、いくつかの大画面レイアウトのアイデアが掲載されています。たとえば、SlidingPaneLayout を使って実装できるリスト / 詳細構造などです。ガイダンスを参照して、ビューと Compose でアダプティブ UI 向けのナビゲーションを実装する方法をご確認ください。
フラグメントを使っている既存アプリに大画面に最適なレイアウトを適用する場合、ナビゲーション パターンを更新して SlidingPaneLayout を使うのはすばらしい方法です。しかし、多くの皆さんが複数のアクティビティに基づいたアプリを作っていることは承知しています。そういったアプリでは、Jetpack WindowManager 1.0 ベータ版 03 で新しくリリースしたアクティビティ埋め込み API を使うと、TwoPane ビューなどの新しい UI パラダイムに簡単に対応できます。現在、SlidingPaneLayout をアップデートしてこの API をサポートする作業を進めています。今後数か月間のアップデートに注目してください。
Jetpack Compose を使うと、大画面や多様なレイアウトを対象にした開発が楽になります。Compose の採用を始めているなら、大画面向けの最適化を行う絶好のチャンスです。
Compose は宣言型 UI ツールキットです。すべての UI をコードで記述するので、UI が利用できるサイズにどう適応すべきかを実行時に判断するのは簡単です。Compose がアダプティブ UI の開発に特に向いているのはそのためで、画面サイズやコンポーネントの違いによる UI の変更にとても簡単に対処できます。Compose でアダプティブ レイアウトを構築するためのガイドでは、知っておくべき基本的な事項について説明しています。
Jetpack WindowManager ライブラリを使うと、下位互換性のある形でアプリのウィンドウを操作し、すべてのデバイスを対象としたレスポンシブな UI を開発できます。新機能は以下のとおりです。
アクティビティを埋め込むと、たとえばリスト / 詳細パターンなど、複数のアクティビティを一度に表示することで、大画面で利用できるようになる広い表示領域を有効活用できます。その際、アプリのリファクタリングはほとんど、あるいはまったく必要ありません。並べるか重ねるかなど、アプリにどのようにアクティビティを表示するかは、皆さんが決定します。具体的には、XML 構成ファイルを作成するか、Jetpack WindowManager API を呼び出します。あとはシステムが対応して、作成した構成に基づいて表示方法を決めてくれます。
アクティビティの埋め込みは、折りたたみ式デバイスでもシームレスに動作します。デバイスを折りたたんだり広げたりすると、それに応じてアクティビティが重なったり並んだりします。アプリで複数のアクティビティを使っている方は、アクティビティの埋め込みを使って大画面デバイスでのユーザー エクスペリエンスを向上させることができます。アクティビティ埋め込み API は、Jetpack WindowManager 1.0 ベータ版 03 以降のリリースで試すことができます。詳しくはこちらをご覧ください。
Jetpack WindowManager でアクティビティを埋め込む
ウィンドウ サイズ クラスは、綿密に検討されたビューポートの一連のブレークポイントで、サイズ変更可能なアプリでのレイアウトの設計、開発、テストに利用できます。ウィンドウ サイズ クラスのブレークポイントは、compact(コンパクト)、medium(中程度)、expanded(広い)の 3 つのカテゴリに分かれています。これらは、エコシステムのデバイスの大部分を表しつつ、レイアウトのシンプルさと特異なユースケースにアプリを最適化できる柔軟性との間でバランスをとるように設計されています。WindowSizeClass API は、近日中に Jetpack WindowManager 1.1 で公開される予定です。これにより、レスポンシブ UI の構築がさらに簡単になります。詳しくはこちらをご覧ください。
Jetpack WindowManager のウィンドウ サイズ クラス
WindowManager では、折り目やヒンジなど、さまざまなウィンドウ形状に対応した一般的な API サーフェスも提供されます。折りたたみ対応のアプリでは、折り目やヒンジの部分を避けてウィンドウのコンテンツを表示したり、折り目やヒンジの部分を自然なセパレータとしてうまく活用したりできます。アプリを折りたたみ対応にする方法は、こちらのガイドをご覧ください。
Android アプリは、あらゆるデバイス、そしてあらゆるカテゴリに適応できるように構築すべきです。そこで、Android Studio 全体を対象として、UI やレイアウトの設計、開発、テストを行うたくさんのツールに、リファレンス デバイスを導入します。リファレンス デバイスは 4 つあり、それぞれスマートフォン、大型折りたたみ式デバイスの内側ディスプレイ、タブレット、デスクトップを表します。マーケットのデータを分析して設計したもので、人気のデバイスや急成長中のセグメントを表しています。また、リファレンス デバイスを規定したことで、新しい WindowSizeClass のブレークポイントを使ってアプリがさまざまなよくあるブレークポイントの組み合わせに対応して動作することを確認できるようになります。そのため、アプリができる限り多くのユースケースをカバーすることを保証できます。
リファレンス デバイスの定義
大画面向け UI の対応を始める際に、どこから手を付けてよいかわからない方もいらっしゃるかもしれません。その場合は、まず新しいツールを使って、大画面デバイスで起こりうる問題を確認しましょう。Android Studio Chipmunk では、レイアウト検証によって先回りで UI について警告や提案を行ってくれる新しいビジュアル lint チェックツールを開発しています。どのリファレンス デバイスが影響を受けるかもわかるようになっています。
リファレンス デバイスの各クラスが表示されたレイアウト検証ツール
ランタイムでアプリをテストする場合、Android Studio Chipmunk (英語) に搭載されているサイズ変更可能な新しいエミュレータ構成を使うことができます。サイズ変更可能なエミュレータを使うと、4 つのリファレンス デバイス(スマートフォン、折りたたみ式、タブレット、デスクトップ)をすばやく切り替えることができます。これにより、設計時にレイアウトを検証したり、ランタイムで動作をテストしたりする操作が簡単になります。どちらの作業にも、同じリファレンス デバイスを使うことができます。サイズ変更可能なエミュレータを新規作成するには、Android Studio の Device Manager を使って新しい仮想デバイスを作成し、Resizable デバイス定義と Android 12L(Sv2)システム イメージを選択します。
サイズ変更可能な Android Emulator
タブレット、折りたたみ式、ChromeOS の各デバイスに最適なアプリを簡単に探せるようにするため、ユーザーのデバイスに最も適したアプリを目立たせるように Play を変更します。
現在、それぞれのアプリの品質を大画面アプリ品質ガイドライン (英語) に照らして評価する新たなチェックを追加する作業を行っています。これにより、デバイスに最適なアプリが目立つようになります。Play ストアで大画面のユーザーが大画面に最適化されていないアプリを表示した場合、そのアプリのストア掲載情報ページに通知を表示する予定です。
加えて、既にお知らせしたように、アプリの評価にも大画面専用の評価を導入し、大画面デバイスでアプリがどう動作するかをユーザーが評価できるようにします。以上の変更は来年に実施する予定です。皆さんがアプリの準備を始められるように、あらかじめお知らせいたしました。
また、Google Play で Google のビジネスモデルを進化させてデベロッパーのニーズに応えるための取り組みを紹介した記事も忘れずに確認しておきましょう。
大画面や折りたたみ式デバイス向けの開発を始めるうえで役立てていただけるように、私たちはビューにも Compose にも対応します。新規アプリや既存アプリで異なる画面サイズをサポートする方法、ビューと Compose の両方でナビゲーションを実装する方法、折りたたみ式デバイスのメリットを活用する方法などを紹介したガイダンスの追加や改訂も行っています。ビューのサポートの大画面ガイドのセクション、または Compose ガイドのセクションをご覧ください。
コードほど雄弁なものはありません。以下のサンプルは、レスポンシブ UI に対応するように更新しています。
実践的な演習を行いたい方は、Codelab で、アップデートされた Jetpack WindowManager による折りたたみ式デバイスとデュアル スクリーン デバイスのサポートをご覧ください。
この記事は Dave Burke による Android Developers Blog の記事 " Android 12 is live in AOSP! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2021 年 10 月 4 日 (日本時間 10 月 5 日) 、ソースを Android オープンソース プロジェクト(AOSP)にプッシュし、Android の最新バージョンを正式にリリースしました。お手元のデバイスに配信される Android 12 にご注目ください。今後数週間で Pixel に、その後今年中に Samsung Galaxy、OnePlus、Oppo、realme、TECNO、Vivo、Xiaomi の各デバイスに配信されます。
いつものことですが、Android 12 ベータ版期間中のフィードバックをありがとうございました。225,000 人以上の方が Pixel やパートナー デバイスで早期リリースをテストし、リリースの品質を改善するために 50,000 件近くの問題を報告してくれました。また、多くの記事やディスカッション、アンケート、そして直接顔を合わせて意見を述べてくださった皆さんや、リリースに間に合うようにアプリの互換性対応を行ってくださった皆さんにも感謝いたします。Android があらゆる人のための偉大なプラットフォームであるのは、皆さんのサポートや貢献があってこそです。
また、10 月 27 日から28 日に開催される今年の Android Dev Summit (英語)では、Android 12 についてさらに詳しくお伝えする予定です。各セッションの動画は、後日日本語字幕もご用意いたしますので、YouTube の「設定」から日本語字幕をオンにしてご覧ください。Android テクニカル セッションの概要など、イベントについての詳細情報も公開されています。この記事でも、後ほど改めてお知らせします。
ここでは、デベロッパーのための Android 12 の新機能をいくつか紹介します。Android 12 デベロッパー サイトでは、すべての新機能について詳しく説明しているので、そちらもご覧ください。
Material You - Android 12 には、Material You (英語) と呼ばれる新しいデザイン言語が導入され、今まで以上にパーソナライズされた美しいアプリを構築できるようになっています。最新のマテリアル デザイン 3 アップデートのすべてをアプリに組み込むには、アルファ版の Material Design Components をお試しください。また、近日中に公開される Jetpack Compose のサポートにも注目です。
通知 UI のアップデート - 通知のデザインも更新し、モダンで使いやすく、便利になりました。Android 12 をターゲットとしたアプリ では、カスタム通知も標準のアフォーダンスで装飾されるようになり、その他すべての通知との一貫性が向上します。詳しくはこちらをご覧ください。
ストレッチ オーバースクロール - アプリのコンテンツをスクロールするときのスムーズさを向上させるため、Android 12 をターゲットとしたアプリでは、すべてのスクロール コンテナに新しい「ストレッチ」オーバースクロール効果が追加されています。この効果は、システムとアプリ全体に共通する自然なスクロール終了インジケーターになります。詳しくはこちらをご覧ください。
アプリ起動時のスプラッシュ画面 - Android 12 をターゲットとしたアプリ では、すべてのアプリにスプラッシュ画面が導入されます。アプリのスプラッシュ画面はさまざまな方法でカスタマイズできるので、アプリ独自のブランディングのニーズを反映できます。詳しくはこちらをご覧ください (英語) 。
システム パフォーマンスの高速化と効率化 - コア システム サービスが利用する CPU 時間を 22%、ビッグコアの利用を 15% 削減しました。また、アプリの起動時間を短縮し、アプリを速く読み込めるように I/O を最適化しました。さらに、データベース クエリでは、大きなウィンドウの CursorWindow を 49 倍近く高速化しました。
フォアグラウンド サービスの最適化 - ユーザー エクスペリエンスを向上させるため、Android 12 ではバックグラウンドのアプリがフォアグラウンド サービスを開始できないようになっています。それに代わる新機能として、アプリは JobScheduler で優先ジョブ (英語) を利用できます。詳しくはこちらをご覧ください。
通知のレスポンシブ性の向上 - Android 12 では、通知トランポリンが制限されるので、通知からアプリを起動する際の時間が短縮されます。たとえば、通知トランポリン削除後の Google フォト アプリは、34% 高速に起動するようになっています。詳しくはこちらをご覧ください。
パフォーマンス クラス - パフォーマンス クラス は一連のデバイス機能で、Android 12 デバイスで要求の厳しいユースケースや高品質なコンテンツをサポートします。アプリは、実行時にデバイスのパフォーマンス クラスを確認することで、デバイスのパフォーマンスを最大限に活用できます。詳しくはこちらをご覧ください。
機械学習の高速化 - Android 12 では、Neural Networks API を通して ML アクセラレータを限界まで活用し、常に最大限のパフォーマンスを発揮できるようになっています。また、ML アクセラレータ ドライバは、プラットフォーム リリースとは独立して Google Play 開発者サービスでアップデートできるようになるので、互換性のあるすべてのデバイスで最新ドライバのメリットを活用できます。
おおよその位置情報 - ユーザーは位置情報データをさらに細かくコントロールできるようになり、アプリが厳密な位置情報をリクエストした場合でも、おおよその位置情報のみを許可できるようになります。詳しくはこちらをご覧ください。
マイクとカメラのインジケーター - アプリがデバイスのカメラやマイクを使っているタイミングを、ステータスバーのインジケーターでユーザーに知らせます。詳しくはこちらをご覧ください。
マイクとカメラの切り替え - サポート対象のデバイスで、クイック設定の新しい切り替え機能から、アプリからのマイクやカメラに対するアクセスをすぐに簡単に無効化できるようにします。詳しくはこちらをご覧ください。
周辺デバイス権限 - アプリで新しい権限を使うと、位置情報の権限がなくても、周辺デバイスのスキャンやペア設定を行えます。詳しくはこちらをご覧ください。
リッチ コンテンツの挿入 - 新しい統合 API を使うと、UI で任意のソース(クリップボード、キーボード、ドラッグ アンド ドロップ)からリッチ コンテンツを受信できます。下位互換性を確保するため、この統合 API は AndroidX にも追加しています。詳しくはこちらをご覧ください。
角の丸い画面のサポート - 多くの最新デバイスで、角の丸い画面が使われています。こういったデバイスで優れた UX を提供するため、新しい API を使って角に関する詳細な情報を問い合わせ、必要に応じて UI 要素を管理できます。詳しくはこちらをご覧ください。
互換メディア コード変換 - HEVC 形式の動画は画質と圧縮率が大幅に向上しており、すべてのアプリでこの形式のサポートが推奨されています。それができないアプリでは、互換メディア コード変換機能を使って AVC ファイルをリクエストすると、システムがコード変換を行ってくれます。詳しくはこちらをご覧ください。
ぼかしや色フィルタなど、エフェクトの使い勝手の向上 - 新しい API では、ビューやレンダリング階層でよく使われるグラフィック エフェクトを適用しやすくなっています。RenderEffect (英語) を使うと、RenderNode (英語) やビューにぼかしや色フィルタなどを適用できます。新しい Window.setBackgroundBlurRadius() (英語) API を使うと、ウィンドウの背景にすりガラス エフェクトをかけることもできます。また、blurBehindRadius (英語) を使うと、ウィンドウの後ろにあるすべてのコンテンツをぼかすことができます。
触覚フィードバックの拡張 - Android 12 では、UI イベントに対する効果的な触覚フィードバック、ゲーム向けの迫力ある楽しい効果、生産性を高めるために注意を促す触覚フィードバックを作成するツールを拡張しています。詳しくはこちらをご覧ください。
新しいカメラ効果とセンサー機能 - アプリで新しいベンダー拡張機能 (英語) を使うと、ぼけ、HDR、ナイトモードなど、デバイス メーカーが組み込んだカスタムのカメラ効果を活用できます。新しい API では、Quad / Nona Bayer パターンを利用する超高解像度カメラセンサーをフル活用することもできます。詳しくはこちらをご覧ください。
ネイティブ コードでのクラッシュのデバッグの改善 - Android 12 では、今までよりも実用的な診断情報が提供されるので、NDK 関連のクラッシュのデバッグが簡単になります。App Exit Reasons API (英語) を使うと、アプリから Tombstone と呼ばれる詳細なクラッシュ ダンプファイルにアクセスできます。
Android 12 でのゲーム - Game Mode API (英語) を使うと、プレーヤーがゲームのパフォーマンス プロファイル(長時間通勤用にバッテリー寿命を延ばす、パフォーマンス モードで最高のフレームレートを実現するなど)を選択する操作に応答できます。インストール時にバックグラウンドでゲームアセットをフェッチできるようにする Play as you download を使うと、プレーヤーをすばやくゲームプレイに導くことができます。
Android 12 が一般公開リリースされたので、ユーザーがスムーズに Android 12 に移行できるよう、すべての Android デベロッパーの皆さんに互換性テストを終えてできる限り早くアップデートを公開することをお願いします。
アプリの互換性をテストするには、Android 12 が動作するデバイスにインストールし、アプリのフローを確認して機能や UI の問題を探します。Android 12 でのすべてのアプリが対象となる動作の変更点を確認し、影響を受ける可能性がある領域を集中的にテストしてください。特にテストしておくべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。SDK の問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを求めます。
現在のアプリの互換性のあるバージョンを公開したら、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 12 アプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。
#AndroidDevSummit (英語) が帰ってきます。10 月 27 日から28 日(日本時間 10 月 28 日 - 29 日) に開催される、イベントでは、Android 12 を含む Android 開発の最新情報をご紹介します。今年のテーマは、Excellent apps, across devices(デバイスを超える優れたアプリ体験)です。開発ツールや API、タブレットやウェアラブルを含む数十億台のデバイス間で使用できる優れたアプリの開発や、生産性向上を支援する技術についてお話しする予定です。
30 以上の Android テクニカル セッションの概要など、イベントについての詳細情報も公開されました。セッションの情報はこちら(英語) から確認できます。どのセッションに参加するか、計画を立て始めましょう。今後数週間のうちに、皆さんの質問を #AskAndroid に共有することをお願いする予定です。寄せられた質問には、Android チームがイベントの中でライブで回答します。
イベントは、太平洋時間の 10 月 27 日午前 10 時(日本時間 28 日午前 2 時)に開催される 50 分の技術関連の基調講演「The Android Show」でキックオフします。ここでは、Android デベロッパー向けのあらゆる最新ニュースや最新情報を共有しますこちら (英語) のニュースレターに登録して最新情報を受け取りましょう。
この記事は 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 に対応した皆さんのアプリを楽しみにしています。
この記事は 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 サイトをご覧ください。
この記事は Sara N-Marandi による Android Developers Blog の記事 "What’s new in Android Privacy" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
人々は、自分にとって最も大事な個人情報や機密情報を信頼して託すことができる OS とアプリを求めています。プライバシーは、Android の製品理念の中核です。Google I/O の「What’s new in Android Privacy」セッションでお話しした通り、Android 12 は、プラットフォームをさらにいっそうプライベートなものにすることで、この既存の基盤を広げ続けています。
このリリースによって、ユーザーは、アプリにアクセスされるデータに関する透明性を確保でき、かつ、シンプルなコントロールで情報に基づく選択ができるようになります。Android は、アプリが自らが提供する機能で必要なデータにのみアクセスするように、アクセス権限のスコープを小さくすることにも投資しています。ユーザーのプライバシーを保護するために私たちが Android 12 で行った、これらの重要な変更について見てみましょう。
プライバシー ダッシュボード:ユーザーの皆さんからはアプリがどのようなデータを利用しているのか知りたいというご要望をよく受けています。新しいプライバシー ダッシュボードでは、位置情報、マイク、カメラへの過去 24 時間のアクセス記録を、シンプルでわかりやすいタイムラインで確認できます。また、Android 12 に搭載された新しいパーミッション インテント API により、アプリのデータ使用に関するより詳細な情報を共有することができます。プライバシー ダッシュボードは、Beta 2 から利用可能になります。
デベロッパーの皆さんには、現在のアプリやゲームのコードを見直し、サードパーティ製 SDK を含め、データへのアクセスの必要性を把握し、すべてのアクセスが正当な利用方法か確認することをお勧めします。これをサポートするために、Android 11 にデータアクセス監査 API を追加し、現在のデータアクセスを簡単に監視できるようにしました。この API を使用してコードのどの部分が個人データにアクセスしているか追跡することで、コードのマッピングを解明できます。プライバシー ダッシュボードは Android 12 Beta 2 でお試しいただけます。
図 1.プライバシー ダッシュボードと過去 24 時間の位置情報アクセス タイムライン
マイクおよびカメラ インジケータ:Android 12では、マイクとカメラへのアクセスに透明性を持たせています。今後は、アプリやゲームがマイクやカメラの映像にアクセスしたことを、ユーザーはリアルタイムで確認できます。また、ユーザーは、クイック設定で自分のデータにアクセスしているアプリを確認でき、不審なアクセスがあった場合は、アプリの許可ページに素早く移動して、許可を取り消すことができます。
デベロッパーはマイクやカメラの使用方法を見直し、アプリやゲームからの予期せぬアクセスを積極的になくす必要があります。例えば、ユーザーがアクセスを必要とする機能をクリックする前に、アプリがこれらのセンサーにアクセスしないようにしてください。マイクとカメラ インジケータは、Android 12 Beta 2で試すことができます。
図 2.マイクおよびカメラ インジケータとトグル
マイクおよびカメラ トグル:カメラにステッカーを貼ったり、携帯電話にオーディオブロッカーを取り付けたりしている人を見たことがあるかもしれません。Android 12では、ユーザーがアプリによる端末のマイクとカメラへのアクセスを迅速かつ簡単に遮断できる 2 つの新しいコントロール機能を導入します。ユーザーの安全性を確保するため、緊急通話は対象外となります。
ユーザーがセンサーをオフにしているにもかかわらず、アクセス許可を得ているアプリまたはゲームがマイクやカメラにアクセスを試みると、そのアプリやゲームの機能を使用するためにはセンサーをオンに戻す必要があることを知らせるメッセージが表示されます。アプリがアクセス権限のベスト プラクティスに従っている場合、トグル状態を組み込むために特別なことをする必要はありません。マイクおよびカメラトグルは、Beta 2 でお試しいただけます。
おおよその位置情報:過去 2 回のリリースにおいて、私たちは位置情報へのアクセス権限を細分化しました。まず、バックグラウンド アクセスとフォアグラウンド アクセスを分離しました。次に、「今回のみ」のオプションを追加して、バックグラウンド位置情報へのアクセスをさらに制限できるようにしました。ユーザーは積極的にこれらのコントロール機能を活用し、より頻繁に選択するようになっています。このオプションが与えられたユーザーは約 80% の割合で、フォアグラウンドの位置情報へのアクセス許可を選択しません。
Android 12 では、ユーザーが自分の位置情報の共有方法と共有先をさらにコントロールできるようになり、アプリやゲームへ提供される位置情報の精度について、「おおよその位置情報」を選択することで、明確に選択できるようになります。
デベロッパーの皆さんは、ご自身のアプリやゲームの位置情報の利用方法を確認し、その機能を提供するにあたってユーザーの正確な位置情報が必要ない場合は ACCESS_COARSE_LOCATION をリクエストすることをお勧めします。また、ユーザーが位置情報の精度を下げることも想定しておく必要があります。ユーザーがおおよその位置情報を選択した場合でも、アプリが動作することを確認してください。おおよその位置情報は、Beta 1で試すことができます。
ACCESS_COARSE_LOCATION
図 3.「おおよそ」と「正確」の選択肢がある位置情報アクセス権限リクエスト ダイアログ
クリップボード読み取り通知:クリップボードにコピーされたコンテンツには、ユーザーがよくコピーするメール、住所、パスワードなどの機密情報が含まれている可能性があります。Android 12 では、アプリがクリップボードから読み取るたびに、ユーザーに通知します。アプリが getPrimaryClip() をコールするたびに、画面下部にトーストが表示されます。クリップボードのデータが同じアプリから送られてきた場合は、トーストは表示されません。初回のコールで getPrimaryClipDescription() をチェックして、クリップボードのデータのタイプを調べることで、アクセスを最小限に抑えることができます。推奨されるベスト プラクティスは、ユーザーがアクセスの理由を理解している場合にのみ、クリップボードにアクセスすることです。クリップボード読み取り通知は Beta 2 でお試しいただけます。
getPrimaryClip()
getPrimaryClipDescription()
近くのデバイスを探す権限:Android 12 では、位置情報を使わない「近くのデバイスを探す権限」に新しいランタイムアクセス権限を追加することで、データへのアクセスを最小限にします。これまで、時計などのアプリやヘッドフォンを使うアプリやゲームは、ペアリングする近くの Bluetooth デバイスをスキャンするために、位置情報へのアクセス権限をリクエストしていました。これが原因で混乱が生じ、必要ではないときに位置情報データへのアクセス権限を与えてしまう、というお声がありました。Android 12 をターゲットとするアプリでは、デバイスをペアリングするなどの利用方法で、正確な位置情報へのアクセス権限から、近くのデバイスの検出を切り離すことができます。そのためには、新しい BLUETOOTH_SCAN 権限を使用して、usesPermissionFlags=neverForLocation を宣言します。デバイスがペアリングされると、アプリは新しい BLUETOOTH_CONNECT アクセス権限を使用して、そのデバイスと通信できます。なお、位置情報を取得するために Bluetooth スキャンを使用するアプリやゲームは、引き続き位置情報へのアクセス許可が必要です。近くのデバイスを探す権限は、Beta 1 で試すことができます。
BLUETOOTH_SCAN
usesPermissionFlags=neverForLocation
BLUETOOTH_CONNECT
アプリの休止状態(ハイバネーション):昨年、Android に権限の自動リセット機能を追加しました。アプリが一定期間使用されなかった場合、Android が自動的に、ユーザーのデータにアクセスできないようにしますが、過去 14 日間で、850 万のアプリの権限がリセットされました。今年、権限の自動リセットをさらに発展させ、長期間使用されなかったアプリを自動的に休止状態に切り替え、デバイスのストレージ容量、パフォーマンス、安全性をより改善する機能を導入します。システムは、ユーザーが以前に許可した権限を取り消すだけでなく、アプリを強制停止してメモリやストレージ、その他の一時リソースを解放します。ユーザーは、アプリを起動するだけで、そのアプリを休止状態から戻すことができます。アプリの休止状態は Beta 1 でお試しいただけます。
Android 12 には、今までで最も野心的なプライバシー リリースが含まれています。これまで、デベロッパーの皆さんへの影響を考慮しながら、プライバシーを最優先にしたプラットフォームを構築するために、デベロッパー コミュニティの皆さんと連携してきました。皆さんからのフィードバックとご支援にお礼申し上げます。今回の変更点については、デベロッパー Web サイトをご覧ください。
Reviewed by Yuichi Araki - Developer Relations Team and Tamao Imura - Developer Marketing Manager, Google Play
この記事は 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
今年の Google I/O はいかがでしたか?まだチェックしていない方は忘れずに Google 基調講演、デベロッパー基調講演、What's new in Android の 3 つのセッションをぜひご覧ください(※ 3 つとも日本語字幕対応)。美しいリップル(波紋)効果やストレッチ オーバースクロールを含む Android 12 Beta 1 、7 月に 1.0 の安定版になる Jetpack Compose、Material You の発表、ベータ版になった Android Studio Arctic Fox、Android デベロッパーに最も使われている言語である Kotlin(トップ 1,000 アプリの 80% が使用)や、Jetpack ライブラリがトップ 10,000 アプリのうち 84% 以上で使われている現状などをすべて確認できます。
まだご覧になっていない方は、ぜひご覧ください。また、この記事では皆さんが見逃してしまったかもしれないニュースをご紹介しましょう。今年の I/O のセッションはすべて日本語字幕に対応していますので、ぜひ切り替えてご覧ください。
What’s new in Jetpack セッションとブログ記事(英語)の要点は、CameraX、Hilt、Paging 3、ConstraintLayout、MotionLayout、Security Crypto、そして Fragment ライブラリが安定版に移行したことです。DataStore と Compose は現在ベータ版です。そして、Jetpack に以下の新しいライブラリが加わります。
さらに、WorkManager の新バージョンで現在アルファ版の 2.7 は、Android S SDK がターゲットになっており、プラットフォームの新しいフォアグラウンド制限が追加でサポートされています。詳しくは、Effective background tasks on Android セッションをご覧ください。
また、Navigation ライブラリを使っている方は、最新のアルファ版で複数のバックスタックがサポートされているので、ご確認ください。
Jetpack Compose が 7 月に 1.0 の安定版になるので、誰もが心躍らせていることでしょう。しかし、Compose を採用するときに、望まないのであれば、アプリのアーキテクチャを変更する必要はないことはご存知でしょうか。詳しくは、Using Jetpack libraries in Compose のセッションをご覧ください。Compose は、Navigation、Kotlin フロー、Hilt など、特に人気のあるライブラリに組み込めるようになっています。
さらに、Compose ではマテリアル デザインの実装も提供されます。その機能を活用する方法については、Build beautiful Material Design apps with Jetpack Compose セッションをご覧ください。
2 つの新しい Codelab も公開されています。Compose Navigation と Compose のテストです。Compose について体系的に学習する場合は、こちらのラーニングパスとワークショップをご覧ください。初めての Compose アプリを構築する方法を動画形式で基礎から説明しています。
Android 12 の最初のベータ版には、Android 5.0 でマテリアル デザインが導入されて以降、最大のデザイン変更が含まれています。これには、システムのテーマを使ってウィジェットに適用するダイナミック カラーなど、アプリ ウィジェットの動作の仕組みと外観の大幅な更新が含まれています。詳しくは、Refreshing widgets セッションをご覧ください。
また、システム全体にストレッチ オーバースクロール効果が新しく導入されますが、これは 1 つのスクロール コンテナにしか適用されないので、アプリの動作がどのようになるかを確認しておきましょう。
Android 12 で Bluetooth デバイスをスキャンするアプリは、neverForLocation 属性付きの新しい BLUETOOTH_SCAN パーミッションがあれば、位置情報パーミッションは必要なくなります。これにより、アプリの煩雑さが軽減されるだけでなく、LOCATION パーミッションが必要なアプリの数も減ることになります。
neverForLocation
LOCATION
位置情報と言えば、FINE_LOCATION パーミッションをリクエストした場合でも、ユーザーはアプリにおおよその位置しか渡さないように設定できるようになります。
FINE_LOCATION
Beta 2 に導入する予定のたくさんの新しいプライバシー機能についてもお知らせしました。ユーザーに表示されるプライバシー ダッシュボード、新しいマイクとカメラのインジケーターと切り替え機能、クリップボード読み取り通知などです。Android 12 におけるプライバシー関連のすべての変更については、What’s new in Android privacy セッションをご覧ください。
今回のベータ版には、パフォーマンス クラスも導入されています。これは、要求の厳しいユースケースや高品質のコンテンツをサポートできるデバイス向けの一連の機能で、現在は主にメディア機能を対象としています。
Android 12 Beta 1 は、エミュレータ、Pixel 3 以降のデバイス、またはデバイス パートナーが発売しているデバイスの一部で試すことができます。
たくさんの新機能が搭載された Android Studio Arctic Fox が Beta チャンネルで公開されています。Compose のサポート、Compose 開発を加速させるすばらしいツール、Layout Inspector の Compose サポート、組み込みのユーザー補助スキャナなどの機能が搭載されています。それだけでなく、折りたたみ式デバイスのエミュレータ、Android TV リモコン、Wear OS のペア設定ウィザードなど、サポート対象のデバイスも増えています。また、生産性を飛躍的に向上させるため、Background Tasks Inspector や Kotlin コルーチン デバッガ、Kotlin Symbol Processing のサポートも Android Studio に追加されました。
これらすべて、さらにその他の機能も、What's new in Android Development tools セッションでご紹介しています。
ConstraintLayout と MotionLayout の改善についてのさらに詳しい情報や、Android Studio で利用できる Compose ツールについては、What's new in design tools セッションをご覧ください。
Android 開発コミュニティで、Kotlin が採用される数が増えています。State of Kotlin on Android セッションの中で特にお伝えしておきたい新機能が、Kotlin Symbol Processing と、UI レイヤーからフローを収集する新しいライフサイクル API です。
Kotlin Symbol Processing(KSP)は、高速のビルドと、Kotlin エコシステムで最高級のシンボル処理を目指しています。KAPT による Java スタブ生成と、それに伴う長いビルド時間は不要になります。KSP は Kotlin コンパイラに組み込まれており、すべての Kotlin シンボルへのアクセスを提供します。また、KSP はベータ版に到達し、API サーフェスが確定しました。現在 KAPT を使っているプラグイン作成者の皆さんは、ぜひ KSP への移行を始めてください。私たちの Jetpack Room ライブラリもベータ版として KSP をサポートした結果、KAPT に比べて処理が 2 倍高速になりました。KSP についての話題は、先日の ADB ポッドキャストでも取り上げました。詳しく知りたい方は、ぜひお聴きください。
lifecycle-runtime-ktx ライブラリの最新版には、ライフサイクルに対応した repeatOnLifecycle API が含まれています。この API は、ライフサイクルがある状態に到達した場合やその状態を下回った場合に、コードブロックをキャンセルしたり再開したりします。この動作は、ビューがバックグラウンドにある場合に実行を停止してアップストリームのフローをアクティブに保つ launchWhenStarted API とは異なります。新しい API を使うと、特定のシナリオでリソースを無駄に消費しなくなるので、アプリの効率を高めることができます。
lifecycle-runtime-ktx
repeatOnLifecycle API
launchWhenStarted
この API によって、Android アプリのすべてのレイヤーで Flow を使うための完全なストーリーができあがりました。詳しくは、Migrating from LiveData to Kotlin’s Flow のブログ記事をご覧ください。
タブレット、Chrome OS デバイス、折りたたみ式デバイスなどの大画面デバイスをターゲットにしやすくするためのたくさんの機能をお知らせしました。たとえば、アップデートされた折りたたみ式対応の SlidingPaneLayout を使うと、一覧/詳細ビューを簡単に実装できます。また、横向き大画面用の新しい垂直ナビゲーション レール コンポーネントや、Button、TextField、Sheet のような極端に引き延ばされることが多いマテリアル コンポーネントの最大幅の値を導入し、新しいガイダンスも提供しています。詳しくは、こちらのセッションをご覧ください。
SlidingPaneLayout
Wear の次期バージョンが登場します。そこで、プレビュー エミュレータ システム イメージ、Android Studio から簡単に Wear エミュレータと他のデバイスをペア設定できるペア設定アシスタント、バーチャル心拍数センサーなどの新しいツールを準備しています。Ongoing Activities API とタイルによって、ユーザーがアプリとインタラクションを行う方法がさらに増えます。Samsung との共同作業で作成した新しいヘルスサービス プラットフォームは、現在アルファ版として組み込むことができます。また、カーブしたテキスト、ウォッチフェイス、ウォッチフェイスの追加機能、リモート インタラクションなど、Wear 向けの開発を容易にするその他の新しい Jetpack API も準備しています。詳しくは、Now is the time: What's new with Wear セッションで解説しています。
Android TV では、Cast Connect でストリームの転送と拡張が可能になり、Android 11 を実行する新しいエミュレータが利用できるようになりました。また、ADT-3 デバイスでは Android 12 Beta 1 を利用できます。8,000 万台を超えるアクティブな TV デバイスで稼働する Android の詳細については、What's new in Android TV and Google TV セッションをご覧ください。
Android に、アップデート可能な完全統合型の ML 推論スタックが搭載されることをお知らせしました。つまり、TensorFlow Lite for Android(TFLite)と Neural Networks API(NNAPI)が Google Play 開発者サービスを使って提供されるようになります。そのため、アプリの APK サイズを削減でき、新しい APK を公開しなくても、最新の高パフォーマンスなバージョンを活用できます。TFLite と NNAPI、そして関連するチップセット向けのドライバは、プラットフォームのバージョンとは独立してアップデートされるので、Android エコシステム全体でドライバと API の一貫性が向上します。また、TFLite 2.3 に互換性リストが追加され、どの部分を GPU やアクセラレータで実行するとモデルを高速化できるかがわかるようになっています。そのリストやモデルが提供するメタデータを使って、CPU、GPU、他のアクセラレータ バックエンドのどれで実行するかを判断する Automatic Acceleration についてもお知らせしました。Android のオンデバイス ML の新機能については、What's new in Android Machine Learning セッションをご覧ください。
これまで、CI サーバーで合格するテストがローカルの Android Studio では失敗する、あるいはその逆の事象を見たことがある方もいるかもしれません。このようなことが起きると、テストの信頼性が失われ、生産性に明らかな影響が出る可能性があります。その原因の 1 つは、Android Studio と Android Gradle プラグインが異なるバージョンの Android インスツルメント テストランナーを実装していることです。Android Studio Arctic Fox では、Android Studio のすべてのテストが Android Gradle プラグインで実行されるので、動作の一貫性が保たれます。
プロジェクト Nitrogen がどうなっているのか、気になっている方も多いでしょう。Nitrogen はもう存在しません。代わりに、統合テスト プラットフォーム(UTP)が登場しています。これは拡張可能なテスト実行環境で、Android Studio と Android Gradle プラグインから大規模な Android テストを実行します。
UTP によって実現できる機能の 1 つが、Gradle が管理する仮想デバイスです。これにより、Gradle DSL を使ってデバイスを定義できるようになります。もう 1 つの機能は、複数のデバイスで並列にテストを実行することにより、テスト実行の拡張性を向上させる機能です。さらに、テストが失敗したときのエミュレータのスナップショットを取得し、後ほどその状態を復元して何がうまくいかなかったのかを調査できるようにする機能もあります。
テストの詳細については、What's new in Android testing tools セッションをご覧ください。
I/O ではゲーム デベロッパー向けの内容はそれほど多くありませんでしたが、その大きな理由は、7 月 12-13 日に Google for Games Developer Summit の開催を予定していることです。登録は無料です。I/O では語られなかったゲーム開発に関するセッションをお届けする予定です。
長年にわたって、ポリシー、ポリシーの変更、ポリシー違反への対応について多くの質問が寄せられてきました。そのご要望にお答えして、Google Play Console に新しいポリシーとプログラムのセクションで、ポリシーとその適用情報が 1 か所で確認できるようになりました。
また、Google Play に新しい SDK コンソールが導入され、SDK プロバイダが非準拠や古い SDK バージョンなどの問題を報告できるようになります。AppBundle で公開する場合、Android Gradle プラグイン 4.0 以降では、アプリのどの SDK に依存関係があるかを自動的に報告できます。これにより、Play で SDK のアップデートが推奨される場合に通知などを行えるようになります。今年中には、アプリに適切な SDK を選択する際に役立つ新しいウェブサイトが Play に登場する予定です。
Play Billing 4.0 ライブラリのリリースにより、複数の数量の購入や、複数のプロダクトを 1 つのサブスクリプションの一部としてまとめるマルチライン サブスクリプションなどの新機能を利用できるようになります。既存の課金対応アプリは、今年の 11 月 1 日までに、少なくとも以前の Play Billing 3.0 ライブラリにアップデートする必要があります。新規アプリは、8 月 2 日までに Play Billing 3.0 以降に移行する必要があります。
ADB エピソード 163 では、Android グラフィック チームの Nat Duca と Sumir Kataria とADB チームで、シェーダー、GPU、Vulkan、OpenGL、ANGLE、ドライバ、ぼかし、ピクセルなどのトピックについてのトークをお届けします。もちろん、Chet のお気に入りの「色」についての話も登場します。
エピソード 164 は、Jetpack Compose について取り上げる新しい連載ミニシリーズ「AD/BC」の初回です。このシリーズでは、Android の未来の UI ツールキットについて、さまざまなトピックを掘り下げます。今回は、Nick と Chet が Adam Powell と Leland Richardson に、Compose のコンパイラやランタイム、データフローについて、そして Compose がデータの状態の変化に応じて Composable を呼び出すタイミングを判断するという素敵な機能について話を聞きました。
今回は以上です。今年の Google I/O はお楽しみいただけましたでしょうか。Jetpack、Android 12 とプライバシー、ツール、Kotlin、大画面、Wear OS、Android TV、オンデバイス機械学習、テスト、ゲーム開発、Google Play といったさまざまな最新情報が満載でした。グラフィックと Compose のポッドキャストもお聴きください。次回も Android デベロッパーの世界の最新アップデートをお届けします。お楽しみに。