この記事は Matthew McCullough による Android Developers Blog の記事 " What’s new from Android, at Android Dev Summit ‘22 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
アメリカのベイエリアで Android Dev Summit (英語) が始まりました。そこでは、皆さんが最新の Android 開発を活用して、ユーザー向けのすばらしい体験を構築するたくさんの方法を紹介しました。最新の Android 開発は、リストサイズからタブレットや折りたたみ式の大画面まで、Android が提供するさまざまな画面サイズのデバイスでアプリの拡張を支援しています。
ここでは、内容をまとめて紹介します。基調講演全編 (動画/英語) も忘れずにご覧ください!
Android Dev Summit ‘22 基調講演
* 日本語字幕は、YouTube の字幕機能から日本語を選択してください
最新の Android 開発、略して MAD (Modern Android Development) と呼んでいる一連のライブラリ、ツール、サービス、ガイドを導入したのは数年前のことでした。Android Studio、Kotlin、Jetpack ライブラリ、そして強力な Google & Play 開発者サービスで私たちが目指しているのは、あらゆる Android デバイスに対応した高品質なアプリを速く簡単に開発できるようにすることです。
何年か前には、美しく高度な UI を作れるように Jetpack Compose を導入しました。これは、新しい Android アプリの推奨 UI フレームワークになっています。
また、安定版の Compose ライブラリを指定した Gradle 部品構成表 (BOM) を導入しています。最初の BOM リリースとなる 22 年 10 月版 Compose (英語) には、マテリアル デザイン 3 コンポーネント、Lazy スタッガード グリッド、可変フォント、プルリフレッシュ、遅延リストのスナップ、キャンバスでのテキスト描画、テキストの URL アノテーション、ハイフネーション、LookAheadLayout が含まれています。Lyft のチームは、Compose を使うことで大きなメリットを実現し、「今では、すべての新機能のコードの 90% 以上を Compose で開発しています」 (英語) と話しています。
私たちは、Android のデバイス エコシステム全体を活用してもらうために Compose を役立てたいと考えています。Compose for Wear OS は、数週間前に 1.0 の安定版リリースに到達し、Wear OS での推奨の UI 開発方法になりました。2022 年 10 月 24 日は、さらにこの流れを拡大するため、Compose for Android TV の最初のアルファ版をリリースしました。フィーチャー カルーセルやイマーシブ リストなどのコンポーネントはすでに利用でき、近日中にさらに多くのコンポーネントが追加される予定です。Android を学習している方や新しいアプリを作ろうとしている方には、Jetpack Compose がお勧めです!
最新の Android 開発を実現しているのが、Android Studio (英語) です。公式 IDE である Android Studio には、あらゆる種類の Android デバイスに対応したアプリを開発するための強力なツールが搭載されています。22年 10 月版 Compose では、皆さんが試すことができるたくさんの新機能をリリースしています。デフォルトが Compose でマテリアル 3 を採用している更新版テンプレート、デフォルトでの Compose ライブ編集の有効化、コンポジションのトレース、Android SDK アップグレード アシスタント、App Quality Insights の改善などです。すべての機能は、Android Studio Flamingo の最新プレビュー版をダウンロード (英語) して試すことができます。ぜひ、フィードバックをお送りください。
今、ユーザーが注目しているのは、最も小さく身近なデバイス、つまりスマートウォッチです。昨年には、Samsung との合同プラットフォーム Wear OS を発表しました。そして今年は、Samsung Galaxy Watch 5 や Google Pixel Watch といったすばらしい新デバイスが登場したことで、デバイスのアクティベーション数が 3 倍になっています。Wear OS アプリの開発を速く簡単にする Compose for Wear OS は、この夏に 1.0 になり (英語)、Wear OS アプリで推奨の UI 開発方法になっています。20 を超えるウェアラブル専用 UI コンポーネントがデザインされており、マテリアル テーマやユーザー補助機能も組み込まれています。
2022 年 10 月 24 日に、Android Studio の Wear OS 向けテンプレートと、Wear OS の安定版 Android R エミュレータ システム イメージが更新されたことをお知らせします。
ウェアラブルからはパーソナライズされたデータが得られるので、データを公開せず、完全に安全な状態に保つことが重要です。そこで、それを簡単に実現するソリューションとして、ヘルスコネクトに取り組んできました。健康データを格納して共有する API は、Samsung と密接に連携して開発しました。ユーザーはこの 1 か所のみで、簡単にパーミッションを管理できます。
Wear OS に注力しているデベロッパーは、大きな成果を挙げています。Todoist は、アプリを Wear 3 向けに再構築して、インストールの増加率が 50% 上昇しました。また、Outdooractive は Compose for Wear OS を使って開発時間を 30% 短縮しました。他にはない魅力的な体験を Wear OS ユーザーに届けるなら、今が狙い目です!
* 日本語字幕は、YouTube の自動字幕機能から日本語を選択してください
以前もお知らせしたように、Google は全力を挙げてタブレット、折りたたみ式、ChromeOS に注力しています。Samsung Galaxy Z Fold4、Lenovo P12 Tab Pro、今後発売予定の Google の Pixel Tablet など、すばらしい新ハードウェアが登場する今こそ、アプリを見直して大画面に対応する絶好のチャンスです。私たちは、Android のアップデート、Google アプリの改善や Google Play ストアの変更といった作業に懸命に取り組んでおり、タブレットに最適なアプリを見つけやすくしています。
Android Studio Electric Eel では、サイズ変更可能なエミュレータとデスクトップ エミュレータ、どんなサイズの画面でもベスト プラクティスに従えるようにするためのビジュアル lint チェックなどを通して、これまでになく簡単にアプリを大画面でテストできるようにしています。
さらに、こういったデバイス向けのデザインやレイアウトのガイドを増やしてほしいという声も寄せられていることから、2022 年 10月 24日、developer.android.com を縦断した (英語) 新しいアプリ レイアウト ガイドと、正規レイアウト (英語) 向けのデベロッパー ガイドとサンプルを追加しました。
大画面機能に対応すると、アプリのエンゲージメントが向上します。たとえば Concepts (英語) の場合、描画機能や図形ガイドなどの優れたタッチペン操作を ChromeOS とタッチペン デバイスで実現したことで、タブレットでの使用がスマートフォンに比べて 70% 高くなりました。
Android Studio や Window Manager Jetpack などの改善に関する最新情報は、11 月 9 日にライブ中継されるフォーム ファクタ トラック (英語) をご覧ください。
成功につながるプラットフォームの中心となるのはオペレーティング システムです。そして、8 月にリリースされた Android 13 では、パーソナライズ、プライバシー、セキュリティ、接続性、メディアなど、プラットフォームの実にさまざまな面で機能強化が行われています。
たとえば、アプリ別の言語設定では、多言語ユーザーの操作が改善され、状況に応じてデバイスの言語を使い分けられるようになります。
パーミッションが不要な新しい写真選択ツールでは、ユーザーが写真や動画を閲覧して選択できますが、ユーザーが明示的にアプリと共有することを選んだものだけが対象になります。これは、Android がプライバシーを重視していることを示す好例です。
また、新しい API レベルをターゲットにしやすくするため、最新の Android Studio Flamingo のプレビュー版に Android SDK アップグレード アシスタント ツールを導入しています。特に重要な変更点について、手順が細かく記載されたドキュメントが提供されるので、アプリのターゲット SDK をアップデートする際に参考にできます。
ここで紹介したのは、ほんの一例に過ぎません。私たちは、Android が提供する最新機能 (英語) を活用できるようにしつつ、プラットフォームの変更にアプリを対応する作業をこれまで以上に簡単にしています。
プラットフォームについて知っておきたい 3 つのこと
Android Dev Summit の初日に基調講演を行い、最新の Android 開発に関する最初のトラック (英語) が始まりましたが、今後もまだまだ続きます。11 月 9 日には、次のトラック:フォーム ファクタ (英語) がライブストリームされるので、お楽しみに。最後のテクニカル トラックはプラットフォーム (英語) についてで、11 月 14 日にライブストリームされます。
どうしても聞いてみたい質問がある方は、#AskAndroid を使ってツイートしてください。毎回のトラックのライブストリームの最後には、ライブ Q&A でチームが皆さんの質問に回答しますので、ぜひご覧ください。
大変うれしいことに、今年は世界中のデベロッパーの皆さんと直接お会いできる機会があります。本日のベイエリアはその初回です。11 月 9 日には、Android Dev Summit をロンドンからお届けします。お楽しみは 12 月のアジアまで、各地で続きます。12 月 16 日には DevFest & Android Dev Summit Japan 2022 が東京で(詳細は後日)、12 月中旬にはバンガロールで行われます(参加希望はこちら (英語) から登録できます)。
Android をより良いプラットフォームにするためには、オンラインで参加する方も世界各地の会場に直接お越しになる方も含め、デベロッパーの皆さんのフィードバックが必要です。皆さんと一緒に優れたアプリを開発し、Android が提供するさまざまなデバイスでユーザーを喜ばせる機会をいただけたことに感謝します。どうぞ 2022 Android Dev Summit をお楽しみください!
この記事は Seang Chau による Android Developers Blog の記事 " Android 13 is in AOSP! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
8 月 15 日に、Android 13 のソースを Android オープンソース プロジェクト (AOSP) にプッシュし、Android の最新バージョンを正式にリリースしました。Android 13 のデベロッパー向け機能は、プライバシーとセキュリティ、デベロッパーの生産性という中核テーマに焦点を合わせており、ユーザーのために優れたエクスペリエンスを簡単に作れるようにします。また、Google は Android をタブレットや大画面にとって優れた OS にするための機能強化を続け、ツールの改善をして、世界中で使われている 2 億 7,000 万台以上の大画面デバイスを活用できるようにしています。ユーザー向けの Android 13 の機能の詳細は、The Keyword の記事 (英語 / 和訳はこちら) をご覧ください。
8 月 15 日より、Pixel デバイスへの Android 13 の配信が始まりました。今年中には、皆さんの Samsung Galaxy、ASUS、HMD (Nokia 製スマートフォン)、iQOO、Motorola、OnePlus、Oppo、realme、シャープ、Sony、TECNO、Vivo、Xiaomi などのデバイスにも Android 13 が配信されます。
いつものように、皆さんが寄せてくださったフィードバックに感謝いたします。また、アプリで 8 月 15 日のリリースへの互換性を確保する作業をしていただいたことにも感謝しています。Android があらゆる人のための偉大なプラットフォームであるのは、皆さんのサポートや貢献があってこそです。
ここでは、Android 13 の新機能の一部を紹介します。Android 13 デベロッパー サイトでは、すべての新機能について詳しく説明しているので、そちらもご覧ください。
テーマ対応アプリアイコン - Android 13 では、Material You のダイナミック カラーをすべてのアプリアイコンに拡張し、ユーザーが壁紙の色合いなどのテーマ設定を継承したアイコンを利用できるようにします。アプリで必要なのは、モノクロのアプリアイコンを提供し、アダプティブ アイコンの XML を微調整するだけです。詳しくはこちらをご覧ください。
アプリごとの言語設定 - Android 13 では、システム言語とは違う言語でアプリを使いたい多言語ユーザーを簡単にサポートできるようになっています。この機能をオプトイン (英語) したアプリには、標準の [App language] 設定パネルが表示されます。新しいプラットフォーム API (英語) を呼び出すと、実行時にユーザーが希望する言語 / 地域を取得したり設定したりできるので、ボイラープレート コードを減らして互換性の向上をすることができます。詳しくはこちら (英語) をご覧ください。
テキスト サポートの改善 - Android 13 にはテキストと言語の改善が含まれており、さらに洗練されたエクスペリエンスを提供できます。ハイフネーションの高速化では、ハイフネーションのパフォーマンスを最適化して 200% 近く向上させ、TextView で有効化してもレンダリング パフォーマンスにほとんど影響を与えなくなっています。テキスト変換 API は、日本語や中国語などの表音文字入力を使う場合に、検索やオートコンプリートを高速化します。Android 13 では、非ラテン文字(タミル文字、ビルマ文字、テルグ文字、チベット文字など)の行の高さの改善も行っているので、表示の際に文字が切れることはなくなり、読みやすくなります。詳しくはこちらをご覧ください。
カラー ベクター フォント - Android 13 では、COLR バージョン 1 (仕様 (英語)、紹介動画 (英語) ) フォントのレンダリングがサポートされ、システムの絵文字が COLRv1 形式にアップデートされます。COLRv1 は、非常にコンパクトな新しいフォント形式で、サイズを問わず高速にくっきりと表示できます。システムがすべての処理をしてくれるので、ほとんどのアプリでは何もしなくても動作します。詳しくは こちら (英語) をご覧ください。
クイック設定配置 API - Android 13 では、カスタムのクイック設定タイル (英語) を提供するアプリで、ユーザーが簡単にタイルを見つけられるようになります。新しいタイル配置 API (英語) を使うと、アプリを離れることなく、1 つの手順でカスタムのクイック設定タイルを直接追加するプロンプトを表示できます。詳しくはこちらをご覧ください。
プログラマブル シェーダー - Android 13 では、プログラム可能な RuntimeShader (英語) オブジェクトが導入されます。このオブジェクトの動作は、Android Graphics Shading Language (AGSL) (英語) で定義できます。このシェーダーを使うと、アプリでリップル、ブラー、ストレッチなどの高度な効果を作成できます。詳しくはこちら (英語) をご覧ください。
PlaybackState からのメディア コントロールの導出 - Android 13 をターゲットとしているアプリでは、システムが PlaybackState (英語) アクションからメディア コントロールを導出します。これにより、すべてのスマートフォンやタブレット デバイスで一貫した高度なコントロールが可能になり、Android Auto や Android TV などの他の Android プラットフォームとの整合性も向上します。詳しくはこちらをご覧ください。
Bluetooth LE Audio - 次世代ワイヤレス オーディオである LE (低電力) Audio (英語) は、友だちや家族にオーディオを共有またはブロードキャストしたり、情報や娯楽、ユーザー補助を目的として一般公開されているブロードキャストをサブスクライブしたりするといった新しいユースケースを実現します。また、電池寿命を犠牲にすることなく、非常に再現性の高いオーディオを受信し、ユースケース間でシームレスな切り替えができるように設計されています。Android 13 は LE Audio をビルトインでサポートするので、デベロッパーは互換デバイスで新機能を利用できます。詳しくはこちら (英語) をご覧ください。
MIDI 2.0 - Android 13 は、新しい MIDI 2.0 規格 (英語) をサポートします。これには、USB 経由で MIDI 2.0 ハードウェアに接続する機能も含まれます。この最新規格では、コントローラの分解能の増加、西洋以外の音調のサポート強化、音符単位のコントローラによる演奏の表現力向上などの機能が提供されます。詳しくはこちら (英語) をご覧ください。
OpenJDK 11 アップデート - Android 13 では、コア ライブラリを OpenJDK 11 LTS リリースに合わせています。これには、ライブラリのアップデートと、アプリやプラットフォーム デベロッパー向けの Java 11 プログラミング言語のサポートの両方が含まれます。また、Google Play システム アップデートにより、さらに多くのデバイスにコア ライブラリの変更を提供することを計画しています。このアップデートは、Android 12 以降を実行するデバイスを対象に、ART モジュール アップデートの一環として行う予定です。詳しくはこちらをご覧ください。
予測可能な「戻る」ジェスチャー - Android 13 には、「戻る」イベントを処理することを事前にシステムに伝えるための新しい API が導入されます。これは Ahead-Of-Time モデルと呼ばれる手法です。この新しいアプローチは複数年にわたる作業 (動画/英語) の一環であり、予測可能な「戻る」ジェスチャーをサポートできるようにします。今回のリリースではデベロッパー オプションからテストできるようになっています。詳しくはこちら (英語) をご覧ください。
Android 13 は今年リリースした 12L アップデート (英語) を拡張したもので、タブレットでのエクスペリエンスがさらに改善されています。マルチタスク用ツールバーの強化、システム UI やアプリでの大画面向けのレイアウトや最適化の継続、アプリの互換性モードの改善などの機能が含まれています。タブレットや Chromebook、折りたたみ式ですばらしいエクスペリエンスを実現するツールを提供する取り組みは、現在も継続しています。詳細については、大画面向けの最適化を始める方法や、大画面デベロッパー リソースをご覧ください。
写真ピッカーと API - システムの新しい写真ピッカーが、プライバシーを保護しつつローカルやクラウドにある写真を共有する標準的な方法を提供します。写真ピッカーは、Android で長年使われているドキュメント ピッカーを拡張し、ユーザーが特定の写真や動画をアプリと簡単に共有できるようにします。デバイス上のすべてのメディア ファイルを参照できるパーミッションをアプリに付与する必要はありません。写真ピッカーでは写真や動画に特化した操作ができるようになっており、アプリから共有メディア ファイルにアクセスする API が含まれています。この写真ピッカーは、Google Play システム アップデートを受信している Android 11 以降のデバイス(Go デバイスは除く)で利用できます。詳しくはこちら (英語) をご覧ください。
通知パーミッション - ユーザーが最も重要な通知に集中できるようにするために、Android 13 には新しい通知ランタイム パーミッション (英語) が導入されます。アプリは、通知を送信する前に、ユーザーに対してこの通知パーミッションをリクエストする必要があります。Android 12 以前をターゲットにするアプリでは、システムがアップグレード フローを処理します。詳しくはこちら (英語) をご覧ください。
近くにあるデバイスの Wi-Fi パーミッション - Android 13 では、近くにあるアクセス ポイントへの Wi-Fi 接続を管理するアプリに対して、NEARBY_WIFI_DEVICES (英語) ランタイム パーミッションを導入します。新しいパーミッションは多くのよく使われる Wi-Fi API に必要で、Wi-Fi 経由で近くにあるデバイスを検出したり接続したりできるようにします。その際に、位置情報のパーミッションを取得する必要はなくなります。詳しくはこちら (英語) をご覧ください。
メディア ファイルにアクセスする細かいパーミッション - 写真や動画を共有する場合は、ユーザー フレンドリーでパーミッションが不要なソリューションである写真ピッカーがお勧めですが、Android 13 では、まだ写真ピッカー (英語) に移行していないアプリやオーディオを扱うアプリのために、細かいメディア パーミッションを追加しています。この新しいパーミッションは READ_EXTERNAL_STORAGE (英語) パーミッションに替わるもので、イメージ、動画、オーディオなど、特定の種類のメディア ファイルにアクセスできます。可能な限り、アプリを写真ピッカーに移行することをお勧めしますが、それができない場合は、Android 13 をターゲットにするときに細かいメディア パーミッションをお使いください。詳しくはこちらをご覧ください。
デベロッパーがダウングレード可能なパーミッション - Android 13 より、ユーザーが以前に付与したパーミッションが不要になったアプリで、新しい API (英語) を使ってパーミッションをダウングレードできます。使わなくなったパーミッションを削除することで、必要最低限のパーミッションのみ使うことを示せるので、ユーザーの信頼が向上します。詳しくはこちらをご覧ください。
インテント フィルタの安全なエクスポート - Android 13 をターゲットにしたアプリでは、別のアプリからエクスポートされたインテント フィルタに明示的インテントを送る際に適用されるルールが厳格化されます。アクションを指定するインテントについては、受信側で宣言された <intent-filter> 要素にインテントが一致する場合にのみ、システムにより、エクスポートされたコンポーネントにインテントが送信されます。詳しくはこちらをご覧ください。
Android 13 では、ART ランタイムのアップデートにより、すべてのアプリのパフォーマンスと効率が向上しています。また、Google Play システム アップデートにより、さらに多くの Android ユーザーに改善を提供することを計画しています。このアップデートは、Android 12 以降を実行するデバイスを対象に、継続中の ART モジュール アップデートの一環として行う予定です。
ガベージ コレクションの改善 - 今後の Google Play システム アップデートで、Android 13 デバイスの ART に、Linux カーネル機能 userfaultfd に基づいた新しいガベージ コレクタを導入します。新しいガベージ コレクタでは、読み取りのバリアがなくなり、読み込まれたオブジェクト当たりの固定オーバーヘッドもなくなるため、メモリ負荷が減少し、コンパイル済みのコードのサイズが最大 10% 縮小します。圧縮が進むにつれてページが解放されるので、GC 時間の効率も上がります。新しいガベージ コレクタを使うと、電池の節約、GC 実行中のジャンクの回避、低メモリによるアプリ終了の防止といった全般的な効果を得ることができます。
ART の全般的な最適化 - Android 13 では、ART によってネイティブ コードとの間の切り替えや切り戻しが大幅に高速化され、JNI の呼び出しが最大 2.5 倍高速になっています。また、ランタイムの参照処理を再構築し、ほぼブロックが発生しなくなったことで、さらにジャンクが減少しています。新しいパブリック API である Reference.refersTo() (英語) も公開しました。この API は、到達不能なオブジェクトをすぐに再利用したい場合に役立ちます。また、クラスやメソッドの検索を最適化することで、インタープリタも高速化しました。さらに、ART が行うインストール時のバイトコード検証が増加しているので、実行時の検証コストが下がり、アプリの起動時間が短縮されています。詳しくはこちら (動画/英語)をご覧ください。
8 月 15 日、Android 13 が AOSP に一般公開リリースされたので、ユーザーがスムーズに Android 13 に移行できるようにするために、すべての Android デベロッパーの皆さんに互換性テストを終えて、できる限り早くアップデートを公開することをお願いします。
アプリの互換性をテストするには、Android 13 が動作するデバイスにインストールし、アプリのフローを確認して機能や UI の問題を探します。まず、Android 13 でのすべてのアプリが対象となる動作の変更点を確認し、現在のアプリが影響を受ける可能性がある領域を集中的にテストしてください。特にテストしておくべき変更点は、以下のとおりです。
アプリのライブラリや SDK の互換性テストも忘れずに行ってください。SDK の問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを求めてください。
現行のアプリについて互換性のあるバージョンを公開すると、アプリの targetSdkVersion をアップデートするプロセスを開始できます。Android 13 をターゲットとしたアプリの動作の変更点を確認し、互換性フレームワークを使って問題をすばやく検知します。
Android 13 によってタブレットのエクスペリエンスが向上するので、アプリが最適な見栄えになるようにしてください。Android Studio で Android エミュレータをセットアップすると、大画面機能をテストできます。または、Android 13 ベータ版パートナー (英語) の大画面デバイスを使うことができます。以下に、注意すべき点を示します。
Android 13 のタブレット機能とテスト内容の詳細は、こちらからご覧ください。
8 月 15 日より、Pixel デバイスへの Android 13 の配信が始まりました。
現在 Android ベータ版プログラムに登録している方は、Android 13 の最終リリースを受け取ります。登録は今後も継続されるので、今年中に始まるベータ版アップデートで Android 13 の機能の追加を受信できます。デバイスをワイプせずにベータ版アップデートの登録を解除したい方は、Android 13 最終リリースを受け取ってから、Android 13 の機能の追加のベータ版を初めて受け取るまでの間に、Android ベータ版サイトにアクセスしてオプトアウトをしてください。
Pixel デバイス用のシステム イメージもこちら (英語) で公開しています。手動でダウンロードして更新する際に使用できます。最新の Android Emulator システム イメージは、Android Studio の SDK Manager から入手できます。Android 13 のソースを探している方は、Android オープンソース プロジェクトの Android 13 ブランチの下にあるリポジトリにあります。こちら (英語) をご覧ください。
繰り返しますが、早期プレビューやベータ版のプログラムにご参加いただき、ありがとうございました。Android 13 に対応した皆さんのアプリを楽しみにしています。
Java および OpenJDK は Oracle および/またはその関連会社の商標または登録商標です。
この記事は 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 および、またはその関連会社の商標または登録商標です。