この記事は Android Developers Team による Android Developers Blog の記事 " The new Google Pixel Watch is here - start building for Wear OS! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Android Developers Team による Android Developers Blog の記事 " The new Google Pixel Watch is here - start building for Wear OS! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2022 年 10 月 6 日の Made by Google イベント (英語) を見た方は、Pixel ポートフォリオ (英語) の最新デバイスをご覧になったはずです。スマートフォンの Pixel 7 と Pixel 7 Pro に加えて、2 つの最新フォーム ファクタを紹介しました。それが、Google Pixel Tablet1 (Google のまったく新しいタブレット、2023 年発売予定)と、Wear OS by Google を搭載した最新デバイス Google Pixel Watch です。 このスマートウォッチ販売が始まった今こそ、これからのホリデーシーズン中に多くの消費者の手に渡ることになる新しいスマートウォッチにアプリが対応する絶好のタイミングです。ここでは、Wear OS の最新アップデート、皆さんのアプリの体験を向上する方法、美しく効率的な Wear OS アプリの開発に着手する方法についてお知らせします。

 

Wear OS の新機能

Google Pixel Watch には Wear OS が搭載されており、プラットフォームの最新アップデートである Wear OS 3.5 が含まれています。この最新バージョンの Wear OS を利用できる Wear OS デバイスは他にもあります。新しい Wear OS は、スムーズかつ簡単に操作できるように設計されており、タップやスワイプ、音声コマンドで必要な情報にアクセスできます。また、刷新された UI と高度な通知機能が搭載されているので、ユーザーが一目で確認できる情報が増えました。

こうした新機能をベースとして存分に活用しながら開発を進められるというメリットを実感していただくため、少ない開発時間とコード行数でアプリを実行できる最新の宣言型 UI ツールキット、Compose for Wear OS を2022 年にすでにリリースしています。すべて Kotlin で構築されており、API が安定版であり、開発に利用できることを示すバージョン 1.0 (英語) になっています。1.0 リリースの内容は次のとおりです。

  • マテリアル : Wear OS 向けの Compose マテリアル カタログでは、すでにビューベースのレイアウトよりも多くのコンポーネントが提供されています。こうしたコンポーネントは、マテリアル スタイルに従っており、皆さんのブランドに合わせてデザインをカスタマイズできるマテリアル テーマが実装されています。

  • 宣言型 : Compose for Wear OS は、最先端の Android 開発を活用しており、他の Jetpack ライブラリとシームレスに併用できます。ほとんどの場合、 Compose ベースの UI を使う方がコードが少なくなり、開発プロセス全体がスピードアップします。

  • 相互運用性 : ビューベースの大規模なコードベースがある既存の Wear OS アプリでは、コードベース全体を書き直さずに、Compose 相互運用 API を使って Compose for Wear OS を徐々に導入することもできます。

  • さまざまな形状の時計に対応 : Compose for Wear OS は、土台となる Compose を拡張し、あらゆる曲線要素向けの DSL を追加しています。そのため、円形、正方形、長方形など、あらゆる形状の Wear OS デバイスを対象とした開発を最低限のコードで簡単に行えます。

  • パフォーマンス : すべての Compose for Wear OS ライブラリに、それぞれのベースライン プロファイルが含まれています。これはアプリの APK に自動的に組み込まれて配布され、デバイスで事前コンパイルされます。これにより、ほとんどの場合で、本番向けビルドのパフォーマンスがビューベースのアプリよりも向上します。ただし、最善の結果を得るには、アプリのパフォーマンスの設定、開発、テストをする方法を知ることが重要です。

Wear OS 向けのアップデートに含まれるもう 1 つのうれしい内容は、短時間でタイルを作成できる Tiles Material ライブラリ (英語) のリリースです。Tiles Material ライブラリには、Wear OS 向けの最新マテリアル デザインに対応した既製のマテリアル コンポーネントやレイアウトが含まれています。この使いやすいライブラリには、ボタン用コンポーネントや進捗状況を示すアークなどが含まれているため、ゼロからコンポーネントを作る必要がなくなります。さらに、既製のレイアウトが使えるので、タイル開発を大幅に加速でき、タイル向けのマテリアル デザイン ガイドラインに確実に従うことができます。

また、先日リリースされた Android Studio Dolphin にはさまざまな Wear OS 機能が追加されているので、アプリ、タイル、ウォッチフェイスがすべての Wear OS 3 デバイスに対応することができます。Wear OS エミュレータ ツールバーのアップデート、直感的なペア設定アシスタント、ウォッチフェイスやタイル、ウォッチフェイスの追加機能をすばやくテストできる新しいダイレクト サーフェス起動機能などが含まれ、WearOS 向けの高度なアプリをこれまでになく簡単かつ効率的に作れるようになっています。

 

新しいアプリ体験からインスピレーションを得る

皆さんのアプリをはじめとして、Google アプリや Spotify、Strava、Bitmoji、adidas Running、MyFitnessPal、Calm など、さまざまなアプリが Wear OS 向けにすばらしい体験を提供しています。2022 年は、Todoist (英語) 、PeriodTracker、Outdooractive (英語) がアプリを Compose で再構築し、アプリの開発をシンプルかつ効率的にできるツールや API のメリットを活用しています。Outdooractive は、Compose for Wear OS を使うことで、チームの開発時間を 30% 削減できました。

Google Pixel Watch の発表と合わせて、Google 製アプリによる新たな体験 も提供します。ここでは、すばらしいユーザー エクスペリエンスを実現するもう 1 つの方法として、新しいハードウェア機能が使われています。Google フォトでは、お気に入りの写真を Google Pixel Watch のウォッチフェイスに設定できるようになります。Google Pixel Watch にはカスタマイズ可能な 19 個のウォッチフェイスが搭載されており、各ウォッチフェイスで、たくさんのカスタマイズ オプションが提供されています。Google アシスタント (英語) も搭載されているので、Google Pixel Watch ユーザーは Wear OS アプリや内蔵の Google アシスタント機能を使ってお気に入りのアプリを操作できます。たとえば、Google Home の最新アップデートでは、Wear OS アプリを使うか、時計に「Hey Google」と話しかけることで、スマートホーム デバイスを簡単に制御できます。また、温度を調整したり、来客や配達があったときに Nest ドアベルから通知を受け取ったりすることなど、あらゆる操作が可能です。2

最新の Wear OS プラットフォームやハードウェアのアップデートを活用すれば、健康&フィットネス アプリにたくさんのチャンスが生まれます。Google Pixel Watch には、プロセッサ レベルに至るまで最適化されたオンデバイス機械学習による正確な心拍数トラッキングなど、Fitbit のすばらしい健康&フィットネス機能が含まれており、Google Pixel Watch で呼吸数、心拍数の変動、睡眠の質といった主要な指標を把握できます。このようにデータの質が向上しているので、健康&フィットネス アプリが有意義な情報や体験をユーザーに提供できる場面が増えています。

Wear OS と Google Pixel Watch のアップデートや機能強化により、目に見える形でアプリを差別化できるようになっています。さまざまなアプリが、こういった機能を使ってユーザーを喜ばせています。皆さんもぜひお試しください。

 

スタートガイド

すばらしいデバイスがすでにそろっている Wear OS エコシステムに、最新デバイスの Google Pixel Watch が加わります。API やツールの改善から刺激的な新しいハードウェアまでがそろった今こそ、Wear OS アプリの開発に着手する絶好のチャンスです。Compose for Wear OS 向けの開発を始めるには、こちらの学習パスの順を追った説明をご覧ください。それからクイック スタートガイドなどのドキュメントを確認し、Wear OS 向けの Compose の Codelab でハンズオン形式での実習に挑戦しましょう。

 

さらに詳しい情報については、Google I/O の Wear OS セッション (動画/英語) をご覧ください。また、まもなく開催される Android Developer Summit (英語) の基調講演やテクニカル セッションで、Wear OS の最新の重要な情報をお聴きください。*日本語字幕は、YouTube の自動字幕機能から日本語を選択してください

 

Made by Google についてのお知らせをいち早く知りたい方は、こちらの公式ブログ (英語) をご覧ください。Pixel エコシステムに加わるもう 1 つのすばらしいフォーム ファクタである Google Pixel Tablet 向けに開発を始めたい方は、タブレット向けにアプリを最適化する方法 (英語) をご覧ください。

 

免責事項 : 

1. Google Pixel Tablet は、米連邦通信委員会などの規制機関の規則によって義務づけられている認可を受けていません。このデバイスは、義務づけられている法的な認可が得られるまで、販売などの方法で流通されない可能性があります。 

2. 対応するスマートホーム デバイス(別売)が必要です。


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Jolanda Verhoef による Android Developers Blog の記事 " Jetpack Compose 1.2 is now stable! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Jolanda Verhoef による Android Developers Blog の記事 " Jetpack Compose 1.2 is now stable! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2022 年 7 月 27 日、Android の最新ネイティブ UI ツールキットである Jetpack Compose のバージョン 1.2 をリリースしました。そして、引き続きロードマップを構築しています。今回のリリースには、ダウンロード可能なフォント、遅延グリッドといった新機能に加え、フォーカス、マウス、入力ハンドリングの改善といった、タブレットや Chrome OS 向けの機能強化が含まれています。

スマートフォン、タブレット、折りたたみ式向けに新しい Android アプリを開発する場合、私たちは Compose を推奨しています。今回は Compose for Wear OS 1.0 (英語) もリリースしたので、Wear OS アプリ開発でも Compose が最適な手段になります。

Twitter エンジニアリング チームなどのデベロッパーは、Compose を使って開発のスピードを上げています。


 「Compose によって生産性が劇的に向上しました。コンポーズ可能な関数を書くのは、カスタムビューを作成するよりもはるかに簡単で速く、デザイナーの要件もたやすく満たせます」


Compose 1.2 には、スマートフォン、タブレット、折りたたみ式向けのたくさんのアップデートが含まれています。試験運用版から安定版になった新しい API があり、新しいバージョンの Kotlin もサポートされています。サンプルCodelabAccompanist ライブラリMDC-Android Compose Theme Adapter はすでにアップデートされ、Compose 1.2 対応になっています。

 

: Compose Compiler ライブラリを 1.2 にアップデートするには、Kotlin 1.7.0 が必要です。今後、Compiler のリリースは他の Compose ライブラリのリリースから切り離されます。この点に関する詳しい説明は、Jetpack Compose ライブラリが独立したバージョニングに関するブログ記事をご覧ください。

 

新しい安定版の機能と API

複数の機能や API が安定版として追加されました。主なものを紹介します。


新しい試験運用版 API

Compose に新機能を導入する作業も続いています。いくつかの主な機能を紹介します。

  • LazyLayout (英語) で、スクロール可能な効率の良いカスタム レイアウトを作成できます。Modifier.overscroll (英語) で、スクロール可能なコンテナにカスタムのオーバースクロール効果を追加できます。

  • GoogleFont (英語) で、ダウンロード可能なフォントを導入します。使ってみたい方は、ドキュメントをお読みください。

  • テキスト機能が多数追加されました。たとえば、includeFontPadding や行の高さをカスタマイズできるようになり(Text のドキュメントブログ記事 (英語) を参照)、Brush (英語) API が導入され(ブログ記事 (英語) を参照)ほか、pluralStringResource (英語) が追加されます。

  • テスト API を改善しました。たとえば、performKeyInput (英語) アクションを使うと、テストで疑似的にキーボード入力させることができます。新しい testTagsAsResourceId (英語) セマンティクス プロパティを使うと、UI Automator による自動化に対応できます。


@OptIn (英語) を使って新しい API を試し、フィードバックをお寄せください

 

修正済みのバグ

コミュニティから報告されたたくさんの問題を修正しました。主なものを紹介します。


Issue Tracker にバグレポートや機能リクエストをお送りいただき、大変感謝しています。Compose の改善や、皆さんに必要な API を作るうえで役立っています。Compose をより良いものにするために、今後もフィードバックをお願いします!

次に登場するのは何でしょうか。現在検討中または作業中の機能は、更新版のロードマップで確認できます。たとえば、項目の遅延追加や遅延削除時のアニメーション、フロー レイアウト、テキスト編集の改善などです。

Jetpack Compose は、皆さんから寄せられた要望をもとに進化し続けます。すでに多くのアプリで Jetpack Compose が本番環境として使われているのを見て、とてもうれしく思っています。そして、Jetpack Compose でアプリ開発がどのように改善したかを、皆さんの多くが共有しています。皆さんの次のアプリのリリースを楽しみにしています!

 

Compose をお楽しみください!


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Amanda Alexander による Android Developers Blog の記事 " Google I/O 2022: What’s new in Jetpack " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Amanda Alexander による Android Developers Blog の記事 " Google I/O 2022: What’s new in Jetpack " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Android Jetpack は、最新の Android 開発の重要な柱とも言えるものです。これは 100 以上のライブラリ、各種ツール、ガイドをまとめたスイートで、デベロッパーはベスト プラクティスに従ったり、ボイラープレート コードを減らしたり、Android のあらゆるバージョンやデバイスで一貫して動作するコードを書いたりしやすくなるため、アプリ独自の機能の構築に専念できるようになります。

Jetpack は Google Play のほとんどのアプリのアーキテクチャに使用されており、現在、上位 1,000 アプリの 90% 以上で使用されています。

こちらは、I/O での「Jetpack の新機能」 (動画/英語) の拡大版として、Jetpack の最新アップデートのハイライトを紹介したものです。

以下では、次の 3 つの主要な Jetpack アップデートについて取り上げます。

  1. アーキテクチャ ライブラリとガイド

  2. アプリのパフォーマンス最適化

  3. ユーザー インターフェース ライブラリとガイド

最後に、いくつかの重要な機能更新を紹介します。

 

1. アーキテクチャ ライブラリとガイド

アプリ アーキテクチャ ライブラリとコンポーネントを使うと、堅牢で、テストや保守がしやすいアプリを構築できます。

 

データの永続化

Room は、SQLite の抽象化レイヤを提供する、推奨のデータ永続性レイヤです。プラットフォームのユーザビリティと安全性を高めることができます。

Room 2.4 では、Kotlin Symbol Processing (KSP) のサポートが安定版になりました。当社の Kotlin コードのベンチマークでは、KSP の処理速度は KAPT の 2 倍に向上しています。Room 2.4 には enum と RxJava3 の組み込みサポートも追加され、Kotlin 1.6 に完全対応しています。

Room 2.5 には、Kotlin への完全な書き換えの最初の部分が含まれます。これにより、Java プログラミング言語で書かれた旧バージョンとのバイナリ互換性も確保しながら、今後の Kotlin 関連の機能向上の基盤を提供します。また、room-paging アーティファクトを利用した Paging 3.0 の組み込みサポートにより、Room クエリで PagingSource オブジェクトを返せるようになります。さらに、マルチマップ(ネストしたマップや配列)型戻り値を使用するリレーショナル クエリ メソッドがサポートされるので、デベロッパーは追加のデータ構造を定義せずに、JOIN クエリを実行できるようになります。

@Query("SELECT * FROM Artist 

    JOIN Song ON Artist.artistName = 

    Song.songArtistName")

fun getArtistToSongs(): Map<Artist, List<Song>>


マルチマップ型戻り値を使用したリレーショナル クエリ メソッド

 

AutoMigrations のアップデートによってデータベースの移行がシンプルになり、新たなアノテーションとプロパティのサポートも追加されます。@Database アノテーションの新しい AutoMigration プロパティを使うと、移行元や移行先のバージョンを宣言できます。また、Room でテーブルや列の変更に関する追加情報が必要な場合も、@AutoMigration アノテーションを使用して入力を指定できます。

Database(

  version = MyDb.LATEST_VERSION,

  autoMigrations = {

    @AutoMigration(from = 1, to = 2,

      spec = MyDb.MyMigration.class),

    @AutoMigration(from = 2, to = 3)

  }

)

public abstract class MyDb

    extends RoomDatabase {

  ...

DataStore

DataStore ライブラリは、SharedPreferences の問題に対処する堅牢なデータ ストレージ ソリューションです。これは、さまざまな SharedPreferences のユースケースを置き換えることができる強力な仕組みです。使い方を詳しく知りたい方は、最新の Android 開発スキル : DataStore (英語) の動画シリーズと記事をご覧ください。アプリでこのライブラリを使用できるかどうかを確認する方法、依存関係の注入と合わせて使用する方法、SharedPreferences から Proto DataStore への移行などに関するガイドを提供しています。

増分データ取得

Paging ライブラリを使うと、データの小さなチャンクを読み込んで表示することで、ネットワークやシステム リソースの消費を抑えることができます。アプリのデータは、RecyclerView や Compose の Lazy リストで、少しずつ段階的に読み込むことができます。

Paging 3.1 は Rx と Guava 統合の安定したサポートを提供します。Paging は Kotlin コルーチンをネイティブに使用していますが、これらの統合はその Java による代替機能を提供します。このバージョンでは、無効なデータや古いデータを表す新しい戻り値の型、LoadResult.Invalid が追加され、無効化の競合状態の処理が向上しました。また、新しい onPagesPresented API と addOnPagesUpdatedListener API によって、no-op 読み込みや空ページに対する操作の処理も向上しました。

Paging 3 についての詳細は、新しくシンプルになった、Android デベロッパー サイトの Paging の基本 Codelab をご覧ください。リストを表示するアプリに Paging ライブラリを組み込む方法を確認できます。



アプリ ナビゲーション モデルでの定義

Navigation ライブラリは、アプリ内のさまざまなコンテンツ間を移動するためのフレームワークです。

今回、新しい navigation-compose (英語) アーティファクトによって、Navigation コンポーネントが Jetpack Compose に統合され、アプリでコンポーズ可能な関数を遷移先として使用できるようになりました。

また、複数バックスタック機能が改善され、状態を記憶しやすくなりました。NavigationUI で、ポップされた遷移先の状態の保存と復元が自動的に行われるようになったので、デベロッパーはコードを変更せずに複数のバックスタックをサポートできます。

navigation-fragment アーティファクトにより大画面サポートが拡張され、構築済みの 2 ペイン レイアウト実装が AbstractListDetailFragment で提供されます。このフラグメントは SlidingPaneLayout を使用して、一覧ペイン(サブクラスにより管理される)と詳細ペイン(NavHostFragment を使用)を管理します。

すべての Navigation アーティファクトは Kotlin で書き換えられ、ジェネリクスを使用するクラス(NavType のサブクラスなど)の null 可能性に関する改善が行われています。

 

考え抜かれたアーキテクチャ ガイド

最新の Android 開発のベスト プラクティスを取り上げたさまざまな動画と記事で、主要なアーキテクチャ ライブラリの詳しい使い方を説明しています。最新の Android 開発スキル : アーキテクチャ  (動画/英語) シリーズをご覧ください。

2. アプリのパフォーマンス最適化

パフォーマンス ライブラリを使用すると、パフォーマンスの高いアプリを構築したり、高パフォーマンスを維持するための最適化方法を特定したりして、エンドユーザーのエクスペリエンスを向上できます。

起動時間の短縮

特にインストール直後にアプリを使用するときなど、アプリのスピードはユーザー エクスペリエンスに大きく影響します。そのような初回エクスペリエンスを向上するために、ベースライン プロファイルを作成しました。ベースライン プロファイルを使うと、アプリやライブラリが Android ランタイムにコードパスの使用方法に関するメタデータを提供します。ランタイムは、それを使って Ahead-Of-Time コンパイルの優先順位を判断します。このプロファイル データはライブラリ全体で集計され、baseline.prof ファイルとしてアプリの APK に保存されます。そしてインストール時に、アプリとその静的にリンクされたライブラリ コードの一部を事前コンパイルするために使用されます。これによってアプリの読み込みが速くなり、ユーザーがアプリを初めて利用する際のフレーム ドロップを減らすことができます。

Google ではベースライン プロファイルをすでに活用しています。ベースライン プロファイルを採用することで、Google Play ストアアプリの検索結果ページの最初のレンダリング時間は 40% 短縮しました。ベースライン プロファイルは Fragment や Compose などの一般的なライブラリにも追加されており、エンドユーザーのエクスペリエンスが向上しています。独自のベースライン プロファイルを作成するには、Macrobenchmark ライブラリを使用する必要があります。

 

アプリの測定

Macrobenchmark ライブラリは、Jetpack のベンチマーク対象をより複雑なユースケース(アプリの起動、RecyclerView のスクロールやアニメーションの実行といった組み込み UI 操作など)に拡大することで、デベロッパーがアプリのパフォーマンスを深く理解できるようにします。Macrobenchmark は、ベースライン プロファイルの生成に使うこともできます。

Macrobenchmark がアップデートされ、テストのスピードが向上し、新たな試験運用版機能が加わりました。また、TraceSectionMetric を使用したトレースベースのカスタム時間測定もサポートされ、デベロッパーが特定のコード セクションをベンチマーク測定できるようになりました。さらに、AudioUnderrunMetric によるオーディオ バッファ アンダーランの検出が可能になり、オーディオのジャンクを分析しやすくなりました。

BaselineProfileRule は、ランタイム最適化に役立つプロファイルを生成します。BaselineProfileRule は他のマクロ ベンチマークと同じように機能し、デベロッパーはユーザー アクションをラムダ式のコードで表します。以下は、コンパイラが事前に最適化すべき重要なユーザー アクションが、コールド スタート(ランチャーからアプリのランディング アクティビティを開く)である場合の例です。

@ExperimentalBaselineProfilesApi

@RunWith(AndroidJUnit4::class)

class BaselineProfileGenerator {

  @get:Rule

  val baselineProfileRule = BaselineProfileRule()

 

  @Test

  fun startup() = baselineProfileRule.collectBaselineProfile(

    packageName = "com.example.app"

  ) {

    pressHome()

 

    // This block defines the app's critical user journey. Here we are

    // interested in optimizing for app startup, but you can also navigate

    // and scroll through your most important UI.

    startActivityAndWait()

  }

}

 

Macrobenchmark でのベースライン プロファイルの生成と使用に関する詳細と完全なガイドについては、Android デベロッパー サイトのガイドをご覧ください。

 

UI のスタッタリングやジャンクの回避

新しい JankStats ライブラリを使うと、アプリの UI のパフォーマンス上の問題の追跡や分析をすることができます。これには、一般に「ジャンク」と呼ばれる、レンダリング フレームのドロップに関するレポートが含まれます。JankStats は、FrameMetrics などの既存の Android プラットフォームを利用していますが、API レベル 16 以降で使用できるようになっています。

このライブラリは、プラットフォームに組み込まれている機能以外に、新たな機能も提供しています。フレーム ドロップの原因の特定に役立つヒューリスティック、レポートに UI の状態を含めることによる追加コンテキストの提供、分析用データのアップロードに使用できるレポート コールバックなどです。

この 3 つの JankStats の主要機能について説明します。

  1. ジャンクの特定 : このライブラリは、内部ヒューリスティックを使用してジャンクの発生を検知し、その情報を基に、ジャンク レポートを発行するタイミングを判断します。これによって、デベロッパーは問題に関する情報を入手し、分析や修正に役立てることができます。

  2. UI コンテキストの提供 : より有用で実用的なジャンク レポートを作成するために、このライブラリは UI とユーザーの現在の状態を追跡する仕組みを提供します。この情報は、レポートがログに記録されるたびに提供されるので、デベロッパーは問題が発生したタイミングだけではなく、ユーザーが何を実行していたかも知ることができます。このようにしてアプリの問題領域を特定し、対処できます。この状態のいくつかは、さまざまな Jetpack ライブラリから自動的に提供されますが、デベロッパーの皆さんには、アプリ固有の状態を独自に指定することをおすすめします。

  3. 結果のレポート : 各フレームで、そのフレームに関する状態がリスナー経由で JankStats クライアントに通知されます。これには、フレームの完了までにかかった時間、それがジャンクと見なされたかどうか、そのフレームの UI コンテキストなどが含まれます。クライアントでは、適切なデータを集計し、それが全体的なパフォーマンスの問題のデバッグに役立つデータであれば、アップロードすることをおすすめします。
     

アプリへのロギングの追加

Tracing ライブラリは、トレース イベントをシステム バッファに書き込み、アプリのパフォーマンス プロファイリングができるようにします。Tracing 1.1 は、API レベル 14 以降のデバッグ不可ビルドのプロファイリングをサポートしています。これは、API レベル 29 で追加された <profileable> マニフェスト タグに似ています。

 

3. ユーザー インターフェース ライブラリとガイド

UI ライブラリにいくつかの変更が加えられ、大画面の互換性、折りたたみ、絵文字のサポートが向上しました。

Jetpack Compose

ネイティブ UI を作成するための Android の最新ツールキット、Jetpack Compose の 1.2 ベータ版がリリースされました。ダウンロード可能なフォント、lazy layout、ネストされたスクロールの相互運用性など、いくつかの機能が追加され、より高度なユースケースをサポートするようになります。詳しくは、ブログ投稿 Jetpack Compose の新機能をご覧ください。

ウィンドウの状態の把握

新しい WindowManager ライブラリは、デベロッパーがアプリをマルチウィンドウ環境や新しいデバイスのフォーム ファクタに対応させる際に役立ちます。このライブラリは、API レベル 14 以降でサポートされる共通 API サーフェスを提供します。

最初のリリースは、折りたたみ式デバイスのユースケースが対象で、コンテンツの表示方法に影響する物理特性の照会などが含まれています。

Jetpack の SlidingPaneLayout コンポーネントがアップデートされ、WindowManager のスマート レイアウト API を使用できるようになりました。ヒンジをまたぐ場合など、オクルージョン領域にコンテンツが配置されないようにすることができます。

 

ドラッグ&ドロップ

新しい DragAndDrop ライブラリも、新しいフォーム ファクタとウィンドウ モードの対応に役立ちます。デベロッパーは、アプリ内外からのデータのドラッグ&ドロップを受け入れることができます。DrapAndDrop には一貫したドロップ ターゲット アフォーダンスが含まれ、API レベル 24 以降がサポートされます。


新しい API レベルから以前の API レベルへのバックポート

AppCompat ライブラリを使うと、旧 API バージョンのプラットフォームで新しい API にアクセスできます。これにはダークモードなどの UI 機能のバックポートも含まれます。

AppCompat 1.4 には、Emoji2 ライブラリが統合されています。API レベル 14 以降の AppCompat でサポートされるすべてのテキストベース ビューで、新しい絵文字がデフォルトでサポートされます。

カスタム ロケール選択が API レベル 14 以降でサポートされるようになりました。アプリを再起動しても失われないロケール設定の手動永続化と、サービス メタデータ フラグによる自動永続化をサポートしています。この機能は、同期的にロケールを読み込み、必要に応じて実行中のアクティビティを再作成することをライブラリに指示します。API レベル 33 以降では、プラットフォームが永続化を管理します。これによってオーバーヘッドが増加することはありません。


その他の主要なアップデート

アノテーション

Annotation ライブラリは、ツールや他のデベロッパーがアプリのコードを理解するために役立つメタデータを公開します。@NonNull のような一般的なアノテーションが提供されます。こういったアノテーションを lint チェックと組み合わせて使用することで、コードの正確性とユーザビリティを向上できます。

アノテーションは現在 Kotlin に移行中で、Kotlin を使用するデベロッパーには、より適切なアノテーション ターゲット(@file など)が表示されるようになります。

要望の多かったいくつかのアノテーションが、対応する lint チェックと共に追加されています。これには、メソッドや関数のオーバーライドに関するアノテーションや、@DeprecatedSinceApi アノテーションが含まれます。@DeprecatedSinceApi は、@RequiresApi を補うもので、特定の API レベル以上で使用を推奨しないことを示すアノテーションです。

GitHub

現在、GitHub で 100 以上のプロジェクトを公開しています。以下のモジュールは、標準の GitHub ベースのワークフローを通じてデベロッパーの皆さんからのサポートを受け付けています。

  • Activity
  • AppCompat
  • Biometric
  • Collection
  • Compose Compiler
  • Compose Runtime
  • Core
  • DataStore
  • Fragment
  • Lifecycle
  • Navigation
  • Paging
  • Room
  • WorkManager

Pull リクエストの処理方法と Jetpack ライブラリの開発について詳しくはウェブサイトをご覧ください。

以上は、過去数か月間に行われた Jetpack のすべての変更に関する概要です。各ライブラリの詳細については、AndroidX のリリースノートをご覧ください。API ピッカーを使用して簡単にライブラリを検索することもできます。また、その他のハイライトについては、Google I/O トーク (動画/英語) を視聴してください。

Java は Oracle および / またはその関連会社の商標または登録商標です。


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play


この記事は Maru Ahues Bouza による Android Developers Blog の記事 " 13 Things to know for Android developers at Google I/O!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Maru Ahues Bouza による Android Developers Blog の記事 " 13 Things to know for Android developers at Google I/O!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

何かを作ってすぐ、スマートフォンだけでなく、テレビ、自動車、タブレット、スマートウォッチを含め、世界の数十億の人々に届けることができるプラットフォームは多くはありません。今年の Google I/O では、このチャンスを最大限に活用していただけるように、Android がたくさんの方法で皆さんをサポートしていることを説明しました。また、最新の Android 開発が、可能な限り多くの共通性をもたせることで、日常生活で使用するあらゆる場面に適したエクスペリエンスを短時間で、かつ簡単に作成できるようになっていることにも触れました。

ここでは、Android デベロッパーが知っておくべきことの上位 13 をまとめています。Jetpack Compose やタブレット、Wear OS、そしてもちろん Android 13 も含まれています! Android の I/O プログラムには、26 のテクニカル セッションと 4 つのワークショップが含まれています。さらに、もう 1 つの #TheAndroidShow (動画/英語) のエピソードとして、Android ライブ Q&A も開催しました。#AskAndroid を使って質問されたツイートはエキスパート チームがライブ配信 (動画/英語) で回答しました。

 

最新の Android 開発

#1: さらに高度なユースケースがサポートされた Jetpack Compose ベータ版 1.2

Android の最新 UI ツールキットである Jetpack Compose は、ダウンロード可能フォント、LazyGrids、ウィンドウ インセット、ネストされたスクロールの相互運用性など、さらに高度なユースケースを実現する API を提供し続けています。また、Live Edit、再コンポーズのデバッグ、アニメーション プレビューといった機能を搭載したツールもサポートします。詳細はブログ投稿をご覧ください。


 

#2: Android Studio: Live Edit の導入

Android Studio Dolphin ベータ版と Electric Eel Canary を使うと、より多くのことを短時間で行うことができます。Android Studio Dolphin には、Jetpack Compose や Wear OS 開発向けの新機能や機能改善が搭載されています。また、Logcat の操作も新しくなっています。Android Studio Electric Eel には、新しい Google Play SDK Index や Firebase Crashlytics との連携機能が追加されます。さらに、大画面でアプリをテストするための新しいサイズ変更可能なエミュレータや、コンポーズ可能な関数内のコードの変更を即座にデプロイできる新機能 Live Edit も提供されます。Android 開発ツールの新機能 (動画/英語) に関するセッションを視聴し、こちらの Android Studio I/O ブログ投稿をお読みください。

#3: ベースライン プロファイルでアプリの読み込み時間を短縮

インストール直後のアプリのスピードは、ユーザーの維持率に大きく影響します。そのスピードを高めるために、ベースライン プロファイルを作成しました。ベースライン プロファイルを使うと、アプリやライブラリが Android ランタイムにコードパスの使用方法に関するメタデータを提供できます。ランタイムは、それを使って Ahead-Of-Time コンパイルの優先順位を判断します。コードを一切変更せず、ベースライン プロファイルを追加するだけで、アプリの起動時間が最大 30% 短縮されます!ベースライン プロファイルは、すでに Jetpack の内部で使われています。私たちは、Fragments や Compose といった人気のライブラリにベースラインを追加して、エンドユーザーのエクスペリエンスを向上させています。アプリ フレームワークの新機能 (動画/英語) を視聴し、こちら (英語) の Jetpack ブログ投稿をお読みください。

 



Better Together

#4: Android タブレットで大画面化

Google は全力を挙げてタブレットに対応しています。前回の I/O 以降、大画面の最適化に注力した Android 12L をリリースしました。Android 13 にはその機能改善がすべて含まれているだけでなく、さらなる機能追加も行われています。また、来年登場する Pixel タブレットについてもお知らせしました。すばらしい新ハードウェア、アップデートされたオペレーティング システムと Google アプリ、改善されたガイドラインとライブラリ、そして刺激的な Google Play ストアの変更がそろった今こそ、アプリを見直して大画面と Android 13 に対応する絶好のタイミングです。今年の I/O で 4 つのセッションと 1 つのワークショップ (動画/英語) を開催し、大画面のデザイン (動画/英語) から実装 (動画/英語) まで、詳しく説明しているのはそのためです。

#5: Wear OS: Compose などの機能

Wear OS の最新アップデートが行われた今、ウェアラブルの開発でできることを再考できます。Jetpack Compose for Wear OS は現在ベータ版です。これを使うと、これまでよりも少ないコードで、美しい Wear OS アプリを作成できます。健康とフィットネス関連のデベロッパー コミュニティに大きなイノベーションをもたらすヘルスサービスも、現在ベータ版になっています。そして今回は、Google Pixel Watch を発表しました。Fitbit と Wear OS の長所を合わせ持つもので、今秋発売予定です。ウェアラブルの期待のアップデートの詳細については、Wear OS テクニカル セッション (動画/英語) をご覧いただくか、Jetpack Compose for Wear OS のお知らせ (英語) をお読みください。 


#6: Health Connect の導入

Health Connect は、Google と Samsung が密接に連携して作り上げた新しいプラットフォームです。これを使うと、簡単にアプリ同士を接続して、ユーザーの健康とフィットネスに関するデータに安全にアクセスしたり、それらのデータをすべてのアプリとデバイスで共有したりできるようになり、少ない作業で多くのユーザーに簡単にアプローチできます。5 月 11 日より、Jetpack Health から Health Connect にアクセスできるようになりました。詳しくは、お知らせ (英語) を確認するか、I/O のセッション (動画/英語) をご覧ください。

#7: Android for Cars と Android TV OS

Android for Cars と Android TV OS が、米国やその他の国で拡大を続けています。ネットワークに接続しながら運転したりテレビを見たりするユーザーが増える中、今年は自動車やテレビ向けの開発がさらに簡単になる新機能を導入します。詳しくは、2 日目 (5 月 12 日) に開催された、Android for Cars の新機能 (動画/英語) や Google TV と Android TV の新機能 (動画/英語) に関するセッションをご覧ください。

#8: 音声対応のデバイスが増加

Android for Cars の Shortcuts API にアクセスできるデベロッパーを拡大することにより、Google アシスタントを搭載したさまざまなデバイスで、音声を使って簡単にアプリにアクセスできるようにしています。この機能は、Wear OS (英語) アプリでも今年中にサポートされる予定です。また、Smarter Custom Intents (英語) を使ってこのようなエクスペリエンスを簡単に開発できるようにしています。具体的には、手間がかかる NLU トレーニングなしに、アシスタントが ML を通してさまざまな形態のユーザークエリを検出できるようにします。加えて、モバイルで音声を使ってアプリを見つけやすくする改善もしています。まずは、Brandless Queries によって、ユーザーが明示的にアプリの名前を話さなくてもアプリを使用できるようにします。また、まだアプリをインストールしていない場合には、App Install Suggestions が表示されてインストールを提案します。こちらの機能 (動画/英語) は、5 月 11 日より既存の App Actions で自動的に有効になりました。

 

Android や Google Play などの最新情報

#9: Google Play の新機能

Google Play を活用して皆さんのビジネスを拡大する新しい方法について、Google Play の最新情報をご覧ください。特に重要なのは、ディープリンクや最大 50 個のカスタム掲載情報を作成できる機能、Google Play ストアに掲載したいコンテンツを送信できるデベロッパーを拡大する LiveOps ベータ版、そして柔軟性が増したサブスクリプション販売などです。以上の最新情報の詳細は、ブログ投稿 (英語) をご覧ください。

#10: Google Play SDK Index

新しい Google Play SDK Index で、SDK がアプリに適切かどうかを評価しましょう。この新しいパブリックポータルは、特によく使われている 100 以上の商用 SDK が登録されており、SDK がアプリのどんなパーミッションを要求するのか、SDK を使っているアプリの統計、どのバージョンの SDK が最もよく使われているのかといった情報が公開されています。ブログ (英語) 記事を確認し、Google Play の新機能 (動画/日本語字幕付き) や Android 開発ツールの新機能 (動画/英語) についてのセッションを視聴しましょう。

#11: Android のプライバシー サンドボックス

Android のプライバシー サンドボックス (英語) は、無料のコンテンツやサービスへのアクセスを危険にさらすことなく、ユーザーのプライバシーを強化した新しい広告ソリューションを実現する仕組みです。先日、Android のプライバシー サンドボックスの初めてのデベロッパー プレビュー版 (英語) を公開したので、SDK ランタイムと Topics API をいち早く確認できます。これら新技術を予備テストし、どのようにソリューションに採用できるかを評価し、フィードバックを提供してください。

#12: 新しい Google Wallet API

新しい Google Wallet を使うと、Android や Wear OS から日常的に使用する機能に高速で安全にアクセスできます。私たちは、以前 Google Pay Passes API と呼ばれていた Google Wallet API を強化し、汎用パスやパスのグループ化とミックス(イベント チケットとバウチャーをまとめるなど)のサポート、そしてバックエンド統合なしにアプリからパスを直接保存できる新しい Android SDK のリリースしました。詳細については、詳細なブログ記事 (英語) を読むか、セッション (動画/英語) をご覧ください。また、developers.google.com/wallet のドキュメントを確認することもできます。

#13: そしてもちろん、Android 13!

Android 13 の 2 回目のベータ版が 5 月 11 日にリリースされました。新しい通知パーミッション、プライバシーを保護する写真ピッカー、近くのデバイスとペア設定したり、メディア ファイルにアクセスしたりするパーミッションの改善など、アプリをプライバシーとセキュリティの最新機能に対応しましょう。また、アプリ別の言語設定やテーマ対応アプリ アイコンなどの機能で、アプリを強化しましょう。HDR 動画や Bluetooth LE オーディオなど、最新の標準を使って開発することもできます。こちらから Pixel デバイスを登録すると、すぐに試してみることができます。Android 13 ベータ版は、パートナー製の一部のスマートフォンやタブレット、折りたたみ式デバイスでも利用できます。詳細は、developer.android.com/13 をご覧ください。

ここで紹介した内容は、今年の Google I/O の Android デベロッパー向けハイライトの一部にすぎません。ぜひ Android の新機能 (動画/日本語字幕付き) セッションを視聴して、Google I/O での Android テクニカル トラックの全容を把握してください。全部で 26 のセッションと 4 つのワークショップがあります。ぜひご利用ください!


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Jolanda Verhoef Anna-Chiara Bellini による Android Developers Blog の記事 " What's new in Jetpack Compose " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Jolanda Verhoef Anna-Chiara Bellini による Android Developers Blog の記事 " What's new in Jetpack Compose " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


Jetpack Compose 1.0 がリリースされてからほぼ 1 年が経過し、その間にコミュニティによる積極的な採用が進んでいます。簡潔な Kotlin の構文と、UI についてすばやく簡単に検討できる宣言型アプローチは高く評価されています。

 

コミュニティにおける Compose

多くの企業が Compose を大々的に採用し、アプリの新機能や目玉機能を開発しています。たとえば、私たちはかなり早い段階から Compose の実験を始めていた Google Play ストアチームと密接に連携し、Compose を使うと開発が楽しくなるだけでなく、デベロッパーの生産性も上がることを発見しました。チームのメンバーはこのように話しています。「Play ストアのすべての新機能は、このフレームワークを使って構築しています。Compose は、アプリの開発速度向上やスムーズな導入に役立っています」。また、Twitter のチームも、アプリのさまざまな部分で Jetpack Compose を使っており、その成果について、「Compose を使うと、独自のコンポーネントをとてもに簡単に定義でき、API コントラクトの明示性、柔軟性、直感性が向上します」と述べています。Airbnb  (英語) チームも Compose を採用し、「Jetpack Compose は技術戦略上欠かすことのできない部分です。これによって向上する生産性は計り知れません」と語っています。

うれしいことに、こういったチームが大規模で複雑な本番環境で慎重に Compose を評価した結果、UI 開発が楽しくわかりやすいものになっただけでなく、さまざまなエンジニアリング上のメリットを得ることもできました。そして、それは一例に過ぎません。なぜなら、Play ストアのトップ 1,000 アプリのうち 100 以上がすでに Compose を使っているからです。

このような緊密な共同作業や、幅広い Android コミュニティからのフィードバックに慎重に耳を傾けることは、常に私たちの開発プロセスの中核であり、ロードマップの実現に向けた鍵でもあります。現在は、新しい API や機能の改善、Compose での開発を今まで以上に簡単にする新ツールを通して、さらに高度なユースケースをサポートする作業を重点的に進めています。Compose が UI の構築方法を根本的に変革するものであることはわかっています。すばらしい見栄えの高性能なアプリを作成するには、考え方の転換が必要です。そのためのサポートとして、ガイド、高度なトピックに関するセッションや Codelab、詳細な解説動画をさらに公開します。以下は、新機能の紹介です。


Compose 1.2 ベータ版

2022 年 5 月 11 日、たくさんの機能や改善が含まれている Compose 1.2 最初のベータ版をリリースしました。

 

テキストの改善

フォントのパディング

includeFontPadding をカスタマイズ可能なパラメータにすることで、Issue Tracker で特に要望の多かったバグ (英語) に対応しました。この値は、false に設定することをお勧めします。それにより、レイアウト内のテキストの配置をより厳密に調整できるようになります。今後のリリースでは、これをデフォルト値にすることを検討しています。値を false に設定するとアプリで問題が起きる場合は、前述の Issue でぜひお知らせください。また、includeFontPaddingfalse に設定した場合、lineHeightStyle パラメータを設定して Text コンポーザブルの行の高さを適合させることができます。これを組み合わせると、次のようになります。

複数行 Text で、includeFontPadding を true にしたもの(左、現在のデフォルト)と、false にして lineHeightStyle を設定したもの(右)

 

Text(

 text = myText,

 style = TextStyle(

   lineHeight = 2.5.em,

   platformStyle = PlatformTextStyle(

     includeFontPadding = false

   ),

   lineHeightStyle = LineHeightStyle(

     alignment = Alignment.Center,

     trim = Trim.None

   )

 )

)

ダウンロード可能なフォント

Compose 1.2 では、Compose にダウンロード可能なフォントが導入されます。複雑な設定を行わずに、Compose の新しい API を使って Google Fonts に非同期的にアクセスしたり、フォールバック フォントを定義したりできます。ダウンロード可能なフォントを使うと、プロバイダを通して複数のアプリで同じフォントを共有できるので、APK のサイズを小さく保ち、ユーザーのシステムの健全性を向上させることができます。

 

テキスト拡大鏡

Android のテキストは、テキストを選択しやすくする拡大鏡ウィジェットを提供しています。今回、Compose がテキスト拡大鏡をサポートします。

選択ハンドルをドラッグすると、拡大鏡が表示されて指の下にあるものが見やすくなります。Compose 1.1.0 では、テキスト フィールドで選択をする際の拡大鏡が導入されました。今回の Compose 1.2.0 では、テキスト フィールドと SelectionContainer (英語) の両方で拡大鏡がサポートされます。この拡大鏡は、ビューの Android 拡大鏡の動作とも完全に一致するように拡張されています。

 

レイアウトの機能と改善

Lazy レイアウト

Lazy レイアウトがさらに進化します。グリッド API の LazyVerticalGrid (英語) と LazyHorizontalGrid (英語) が試験運用版を終了して正式版になり、独自のカスタム Lazy レイアウトを実装できる LazyLayout (英語) という試験運用版 API が新たに追加されます。これらの API の詳細については、I/O セッション動画 Compose の Lazy レイアウト (英語) をご覧ください。

 

CoordinatorLayout の相互運用性

ビューシステムからスクロール可能なコンポーザブルを CoordinatorLayout に埋め込む際に、スクロール動作の相互運用性を確保できるようになります。これにより、折りたたみ可能なツールバーをはるかに簡単に設定できるようになります。この動作は、試験運用版の新しい rememberNestedScrollInteropConnection メソッドを呼び出した結果を nestedScroll 修飾子に渡すことでオプトインできます。この新機能のデモは、こちらのサンプルでご確認ください。

 

ウィンドウ インセット

Accompanist の insets ライブラリ (英語) が正式版として Compose Foundation ライブラリに追加され、WindowInsets  (英語) クラスから利用できるようになりました。詳しくは、既存の UI に Compose を組み込む方法を説明したドキュメントをご覧ください。

 

ウィンドウ サイズ クラス

サイズ変更可能なレイアウトの設計、開発、テストを容易にするため、綿密に検討されたビューポートの一連のブレークポイントであるウィンドウ サイズ クラスをリリースしました。これはマテリアル 3 ライブラリ セットの一部で、現在、新しいライブラリ material3-window-size-class でアルファ版を利用できます。サイズクラスの詳細については、異なる画面サイズをサポートするためのドキュメントで参照できるほか、Crane でサンプル実装を確認することもできます。

 

パフォーマンスへの注力

アプリのパフォーマンスの理解と改善に役立てていただけるよう、新しいパフォーマンス関連のツールやガイドにいっそう注力しています。この対応により、アプリが遅くなっている理由や場所を、はるかに簡単に理解できるようになります。

Android Studio Dolphin より、Layout Inspector でコンポーザブルの再コンポーズ発生頻度を確認できるようになります。再コンポーズの回数が異常に多い場合は、そのコンポーザブルを最適化する余地があることを示している可能性があります。さらに、Android Studio Electric Eel には再コンポーズのハイライト表示機能が追加され、どのコンポーザブルでいつ再コンポーズが発生したかを視覚的に確認できるようになっています。これらの新ツールについては、Android Studio の新機能ブログをご覧ください。

Layout Inspector での再コンポーズ回数と再コンポーズのハイライト表示

 

Compose は、根本的なレベルで UI の記述方法を変革します。そのため、アプリのパフォーマンス向上に役立ついくつかのベスト プラクティスがあります。新たに公開されたドキュメント ページには、最高のパフォーマンスを実現するための Compose アプリの記述方法や設定方法を掲載しています。I/O セッション動画 Jetpack Compose の一般的なパフォーマンスの落とし穴 (英語) では、Compose チームがパフォーマンス関連のよくある失敗例とその修正方法について説明します。

パフォーマンスは、私たちが引き続き重点を置いている領域です。現在、ツールやガイドの改善や追加に懸命に取り組んでいます。それと合わせて、これまでの作業に対するフィードバックもお待ちしています。Issue Tracker (英語) でバグを報告するか、KotlinLang Slack グループ (英語) で質問してください。

 

新しいツール

これまでの改善をベースに、Compose の効率アップを図る新ツールの最新情報をお知らせします。現在ベータ版の Android Studio Dolphin (英語) では、Compose 開発にすばらしい機能が追加されます。再コンポーズの回数に加え、すべてのアニメーションを一度に確認できる Animation Coordination や、複数の画面サイズに対応する開発に役立つ MultiPreview アノテーションなどの新ツールが導入されます。また、反復処理を高速化できるように、Android Studio Electric Eel Canary に LiveEdit を追加します。

完全な情報は、Android 開発ツールの新機能 (英語) に掲載されています。また、Compose に必要なツールのサポートを実現するため、ぜひフィードバックを共有してください。

Compose for Wear OS

もし Compose よりも優れたものがあるとすれば、それはもう 1 つの Compose です。Compose for Wear OS がベータ版になりました。Compose for Wear OS は、他の Jetpack ライブラリと同じ考え方に従っており、ベータ版になったことは、機能が完成して API が安定版になったことを意味します。そのため、本番環境に対応できるアプリの開発を始めることができます。さっそくブログ記事 (英語) を読んで、開発にとりかかりましょう!

 

ガイドの追加と改善

Compose に関するたくさんのガイドを追加、刷新しました。

ぜひ Compose を使ってみてください!

これらの新機能を私たちと同じ用に皆さんにも気に入ってもらえることを願っています。まだ Jetpack Compose を使ったことがない方は、速度やデベロッパーの生産性向上によるあらゆるメリットを享受できるように、チームや開発プロセスでどのように利用できるかをこのタイミングで学びましょう。ぜひ Compose を使ってみてください!


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Juan Sebastian Oviedo による Android Developers Blog の記事 " Google I/O 2022: What’s new in Android Development Tools " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

 

この記事は Juan Sebastian Oviedo による Android Developers Blog の記事 " Google I/O 2022: What’s new in Android Development Tools " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

 


2022 年 5 月 11 日、Google I/O 2022 の中で、Android Studio Dolphin Beta と Android Studio Electric Eel Canary で利用可能になった新しい機能を発表しました (どちらのリリースもこちら (英語) からダウンロードできます) 。Android アプリを作成する際の生産性を向上させたいというデベロッパーからのご要望を受け、豊富な情報を活用しながらスムーズに開発するための改善です。

Android Studio Dolphin リリースが、安定版に近い品質で提供され、次のような新機能や機能向上を Beta チャネルで利用できます。

  • アニメーション プレビューで Compose アニメーションを表示し、調整する。

  • アノテーション クラスを定義することで、複数の Compose プレビュー定義をまとめて設定して適用する。

  • Layout Inspector でコンポーザブルの再コンポーズ回数を追跡する。

  • Wear OS エミュレータのペア設定や制御を簡単に行うことができ、タイル、ウォッチフェイス、ウォッチフェイスの追加機能を Android Studio から直接起動する。

  • Logcat V2 でアプリの問題をより迅速に診断する。

さらに新しい Android Studio Electric Eel のプレビュー リリースの機能は、Canary チャンネルでお試しいただけます。

  • よく使われる依存関係や SDK についての情報を提供する、Google Play SDK Index という新しい一般公開ポータルで、依存関係に関するインサイトを確認できます。ライブラリの特定のバージョンに、作成者によって「古いバージョン」のマークが付けられている場合、その依存関係定義を確認しようとすると、対応する Lint 警告が表示されます。開発中に依存関係の問題を発見して更新できるため、後でアプリを Play Console に一般公開する時点で問題が見つかるということがなくなります。この新しいツールについては、こちら (英語) で詳しく紹介しています。

  • 新しい [App Quality Insights] ウィンドウを使って、Android Studio で直接 Firebase Crashlytics レポートを確認できます。[App Quality Insights] ウィンドウでは、数回クリックするだけでスタック トレースからコードに移動できます。IDE でも、最近クラッシュを発生したコードを含むファイルを編集するときに、エディタでそのコード行がハイライト表示されます。ユーザーからのクラッシュ情報が IDE に直接表示されるため、時間の節約になり、デベロッパーはユーザーに優れたアプリ エクスペリエンス提供のための作業に集中できます。

  • サイズ変更可能な 1 つの Android Emulator を使って、複数の代表的なリファレンス デバイス上でのアプリ UI をテストできます。タブレット、スマートフォン、デスクトップごとにエミュレータを設定する代わりに、サイズ変更可能な 1 つのエミュレータを使用し、その構成を変更します。これにより、アプリをテストする際の再デプロイの必要がなくなります。

  • 試験運用版の Live Edit 機能を使用すると、コードに加えた変更がすぐに Compose プレビューに反映され、エミュレータや実機で実行中のアプリにも反映されます。

上記の機能は、皆さんからのフィードバックを基にさらに改善を加えてから、より安定したチャンネルでリリースにも昇格されますので、ぜひお試しください。

すべての新機能の実際の動作については、Android デベロッパー ツールの新機能に関するセッションをご覧ください。

次に、Android Studio Dolphin の主な新機能と機能向上について紹介します。

 

Jetpack Compose

  • Compose アニメーションの調整 - アニメーション プレビューですべてのアニメーションを同時に表示し、調整できます。指定したアニメーションを一時停止することもできます。

Compose アニメーションの調整

  • Compose マルチプレビュー アノテーション - 複数のプレビュー定義を含むアノテーション クラスを定義し、その新しいアノテーションを使って、定義した複数のプレビューを一度に生成できます。この新しいアノテーションを使用すれば、複数のデバイス、フォント、テーマを同時にプレビューできるので、コンポーザブルごとにプレビューを定義する必要がなくなります。

マルチプレビュー アノテーション

  • Layout Inspector での再コンポーズ回数の表示 - Layout Inspector で Compose アプリの再コンポーズ回数を確認できます。必要に応じて、[Component Tree] パネルや [Attributes] パネルで再コンポーズ回数とスキップ回数を表示することもできます。詳細はこちらをご覧ください。

Compose 再コンポーズ回数

Wear OS

  • Wear OS エミュレータ ペア設定アシスタント - Wear OS エミュレータ ペア設定アシスタントを使用して、デバイス マネージャで Wear デバイスを表示し、1 台のスマートフォンで複数の Watch エミュレータをペア設定できるようになりました。Android Studio を閉じてもペア設定は記憶されるため、何度もデバイスのペア設定を繰り返す必要がありません。

Wear OS エミュレータ ペア設定アシスタント

  • Wear OS エミュレータのサイド ツールバー - メインボタン、手のひらボタン、傾きボタンなど、実機のボタンを模した Wear 固有のエミュレータ ボタンを使って、ボタンをシミュレーションします。

Wear OS エミュレータのサイド ツールバー

  • Wear OS サーフェスの直接起動 - Wear OS のタイル、ウォッチフェイス、ウォッチフェイスの追加機能の実行 / デバッグ構成を作成すれば、Android Studio からこれらのサーフェスを直接起動できます。

Wear OS 実行 / デバッグ構成の新しいタイプ

 

開発ツール

  • Logcat V2 - 新しく再構築された Logcat では、ログの解析、クエリ、追跡をより簡単に行うことができます。Logcat V2 には、有用な情報を見つけやすい新しいフォーマット、一目で多くの情報を確認できる新しい分割ビュー、ログをフィルタリングするためのまったく新しい強力な構文が組み込まれています。詳細はこちら (英語) をご覧ください。

Logcat V2

  • Gradle マネージド デバイス - ビルドの一部として、自動化テストに必要な仮想デバイスについて記述さえすれば、後はすべて Gradle に任せることができます。SDK のダウンロードから、デバイスのプロビジョニングとセットアップ、テスト実行と終了処理に至るまで、Gradle がインストルメンテーション テスト中の仮想デバイスのライフサイクルを管理します。さらに、効率的に素早く一貫した方法でテストを実行できるよう、Gradle ではスナップショットの管理、テストのキャッシュ、テストのシャーディングといったインテリジェントな機能も適用できます。Gradle マネージド デバイスは、自動テストデバイスという、まったく新しいタイプのデバイスも導入しています。これにより、自動テストのためにデバイスを最適化し、テスト実行中の CPU 使用率とメモリ使用量を大幅に減らすことができます。詳細はこちら (英語) をご覧ください。

Gradle マネージド デバイス

次に、Android Studio Electric Eel の主な新機能と機能向上について紹介します。

Jetpack Compose

  • Live Edit - Android Studio でコンポーザブルのコードに変更を加えると、その変更がすぐに Compose プレビューに反映され、エミュレータや実機にも反映されます。Live Edit はオプトイン機能であり、Android Studio の設定で有効にできます。詳細はこちらをご覧ください。

エミュレータ上の Live Edit

プレビュー上の Live Edit

 

Google Play と Firebase

  • SDK 分析情報 - Google Play SDK Index で、作成者によって「古いバージョン」のマークが付けられた SDK / ライブラリに対する Lint 警告を確認できます。古い依存関係のバージョンを開発段階で更新できるため、アプリを Play Console に提出する際に問題が起きることを避けられます。

Google Play SDK Index のインサイト


  • Firebase Crashlytics に基づく App Quality Insights - Android Studio で、ローカル ソースコードのコンテキストから Crashlytics によって報告された問題を見つけて調査し、解決できます。統合されたこの機能により、クラッシュからコードに (さらにコードからクラッシュに) すぐに移動でき、ローカルで問題を再現するのに役立つ、クラッシュに関する重要なコンテキスト情報を確認できます。

Firebase Crashlytics に基づく App Quality Insights

 

大画面デバイス

  • サイズ変更可能なエミュレータ - 1 つのエミュレータ インスタンスで、代表的なリファレンス デバイスをすばやく切り替え、さまざまなアプリケーション レイアウトを簡単にテストできます。このエミュレータは、デバイス マネージャの「デバイス作成」フローで「サイズ変更可能」タイプを選択することで作成できます。

サイズ変更可能なエミュレータ

  • ビジュアル lint チェック - [Layout Validation] パネルを開くと、各種デバイスでのレイアウトの問題 (大きいサイズのタブレットではボタンが範囲内に収まらず表示されないなど) を見つけて修正できます。レイアウトに対し、さまざまな画面サイズでのビジュアル lint チェックが自動的に実行されます。

ビジュアル lint チェック

 

開発ツール

  • Bluetooth のエミュレーション - 仮想 Bluetooth を使ってスマートフォン エミュレータを検出し、2 つのエミュレータを相互接続できるようになりました。この機能は、システム イメージ T (API 33) を使用する Android Emulator 31.3.8 以降で利用できます。今後、ビーコンや心拍数モニターなどのサンプル仮想周辺機器の作成や、Bluetooth 機能の統合テストに関するサポートを強化していく予定です。

エミュレートされた Bluetooth を使った、2 つの Android Emulator のペア設定

  • デバイスのミラーリング - デバイス画面を直接 Android Studio にストリーミングして、開発中の中断回数を最小限に抑えることができます。デバイスのミラーリングにより、Studio の [Running Devices] ウィンドウを使用して実機を操作できます。この機能を有効にするには、[Preferences] > [Experimental] に移動し、[Device Mirroring] を選択します。有効にしたら、デバイスを接続して [Running Devices] ウィンドウを開き、画面のストリーミングを開始します。

デバイスのミラーリング

 

まとめると、安定版に近い品質の Android Studio Dolphin Beta では、以下の新機能と機能向上をご利用いただけます。

Jetpack Compose

  • Compose アニメーションの調整
  • Compose マルチプレビュー アノテーション
  • Layout Inspector での再コンポーズ回数の表示

Wear OS

  • Wear OS エミュレータ ペア設定アシスタント
  • Wear OS エミュレータのサイド ツールバー
  • Wear OS サーフェスの直接起動

開発ツール

  • Logcat V2
  • Gradle マネージド デバイス

Android Studio Electric Eel Canary では、以下の新機能と機能向上をご利用いただけます。

Jetpack Compose

  • Live Edit

Google Play と Firebase

  • SDK 分析情報
  • Firebase Crashlytics に基づく App Quality Insights

大画面デバイス

  • サイズ変更可能なエミュレータ
  • ビジュアル lint チェック

開発ツール

  • Bluetooth のエミュレーション
  • デバイスのミラーリング

スタートガイド

Android Studio Dolphin Beta と Android Studio Electric Eel Canary は、いずれもこちら (英語) からダウンロードできます。こちらの手順に従ってインストールし、現在の安定版 Android Studio と共存することができます。ベータ版のリリースは安定版のリリースに近い品質ですが、まだバグが存在する可能性があります。問題が見つかった場合は、こちらのフォーム (英語) でご報告ください。同様に、Canary リリースで問題が見つかった場合や、機能についてフィードバックがある場合もご連絡ください。

問題に関するフィードバックや機能リクエストは、私たちにとって有用です。TwitterMedium で、Android Studio 開発チームをフォローしてください。

新機能の詳細は、プレビュー リリースノートをご覧ください。 (※翻訳のタイミングによって、英語版と日本語版のリリースノートの説明内容に多少の差があります。)


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Android Team による Android Developers Blog の記事 " Helping Users Discover Quality Apps on Large Screens " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Android Team による Android Developers Blog の記事 " Helping Users Discover Quality Apps on Large Screens " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

大画面デバイスの普及が進んでおり、現在アクティブな Android タブレット、折りたたみ式デバイス、ChromeOS デバイスの数は、2 億 5,000 万台を超えています。需要が加速し続ける中で、ユーザーはソーシャルやゲーム、マルチタスクや仕事に至るまで、さまざまなことを大画面で行うようになっています。そこで私たちは、大画面デバイスを最大限に活用してもらうため、Google Play を大きく変更して、ユーザーが高品質なアプリやゲームを探して活用できるようにしたいと考えています。

 

Google Play の変更点

Google Play ストアは、主に 3 つのアップデートをします。その 3 つとは、ランキングとプロモーションの変更、低品質のアプリへのアラート、デバイス固有の評価とレビューです。

ランキングとプロモーションの変更

先日、大画面で優れたユーザー エクスペリエンスを作成するためのガイドとして、アプリの中核品質ガイドラインに加えて、大画面アプリ品質ガイドライン (英語) を公開しました。このガイドでは、縦向きと横向きのサポートといった基本的な互換性要件から、キーボードやタッチペンの機能といった細かな差別化要件まで、幅広い機能を網羅しています。今後数か月の間に、大画面デバイスにおける Google Play ストアのおすすめやランキングのロジックを更新し、アプリの品質ガイドラインに基づいて、高品質なアプリやゲームを優先するようにします。具体的には、ユーザーが自分のデバイス向けに最適化されたアプリを見つけやすくなるように、検索結果でのアプリの表示順やホームページでのおすすめを変更します。また、Google Play ストア内の記事コンテンツについても、大画面に最適化されたアプリを紹介できるように、力を入れていく予定です。

低品質なアプリをインストールするユーザーへのアラート

基本的な互換性要件 (英語) を満たさないアプリに対しては、インストール後のアプリがどのような画面や機能か想定できるように、現在大画面ユーザーに表示されているアラートを更新します。これによってアプリが大画面デバイスではうまく動作しない可能性があることをユーザーに通知できます。この変更に関しては、改めて追加情報をお伝えしようと考えておりますので、今年の最新情報にご注目ください。

 

デバイス固有の評価とレビュー

最後は以前お知らせした通り、ユーザーがデバイスタイプ(タブレット、折りたたみ式、Chrome OS、Wear、Auto など)ごとの評価とレビューを確認できるようになります。これにより、自分に合ったアプリはどれかを判断しやすくなります。ユーザーが使用するデバイスでのアプリのエクスペリエンスを把握しやすくなるように、可能な場合は、デフォルトでその種類のデバイスにおける評価が Google Play ストアに表示されます。Google Play Console でデバイスタイプごとの内訳を確認すると、デバイスごとの評価とレビューをプレビューできます。

デバイスタイプごとの内訳で評価とレビューを分析し、大画面向けの最適化を計画する

 

大画面向けの最適化を始める上で役立つツール

大画面向けの最適化をしているデベロッパーは、ユーザーのエンゲージメントや維持率が向上するというプラスな効果を感じています。ここでは、アプリを大画面向けに最適化するにあたってのヒントやリソースを紹介します。

  • 大画面品質ガイドライン (英語) をチェックリストとして使い、アプリの互換性レベルをベンチマーク評価して改善の計画を立てます。

  • 大画面開発についてのデベロッパー向けドキュメントを参考にします。レスポンシブ レイアウトの構築各種の画面サイズの対応などのリソースがあります。

  • 各コア指標におけるデバイスタイプの変化や、デバイスタイプごとのユーザーや問題の分布を追跡します。Google Play Console の [リーチとデバイス] セクションに最近リリースされたデバイスタイプの内訳機能を活用しましょう。[リーチとデバイス] を活用できるのは、既存のアプリやゲームだけではありません。類似アプリのグループを選択し、ユーザーや問題の分布を分析することで、次のタイトルの計画に役立てることもできます。

[リーチとデバイス] のデバイスタイプのフィルタで、1 つまたは複数のデバイスタイプを選択して分析する


デバイスタイプの内訳で、ユーザーと問題の分布を確認し、現在のタイトルの最適化や次のタイトルの計画に役立てる

 

Google Play ストアの機能は、今後数か月間で徐々にロールアウトされます。変更が行われる前に大画面アプリの品質改善計画を立て、一歩先にスタートすることをおすすめします。今後も、大画面の最適化を最大限にサポートしてユーザー エクスペリエンスを改善できるように、フィードバックを集めて、優れたアプリを開発するデベロッパーの皆さんをサポートし続けたいと考えています。


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play

この記事は Dave Burke による Android Developers Blog の記事 " Android 13 Developer Preview 2 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


この記事は Dave Burke による Android Developers Blog の記事 " Android 13 Developer Preview 2 " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


2022 年 2 月、Android 13 の最初のデベロッパー プレビューをリリースしました。その中核テーマとなっていたのは、プライバシーとセキュリティ、デベロッパーの生産性、そしてタブレットと大画面の最適化でした。2022 年 3月 17 日、新機能や変更点がさらに追加された Android 13 デベロッパー プレビュー 2 をお届けしました。ぜひ皆さんのアプリでお試しください。皆さんから寄せられた情報は、Android をデベロッパーやユーザーにとってよりよいプラットフォームにするために役立つので、ぜひ感想をお聞かせください。

 

2022 年 3 月、2 億 5,000 万台以上の大画面 Android デバイスをさらに活用してもらうための 12L フィーチャー ドロップが、Android オープンソース プロジェクト(AOSP)にアップされました。そしてその直後、今回のリリースを迎えました。Android 13 やタブレット、Jetpack Compose でのデベロッパーの生産性向上の詳細については、#TheAndroidShow の最新エピソードをご覧ください。

12L フィーチャー ドロップが AOSP に

デベロッパー プレビュー 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" (英語) を指定すると、この折り返し設定を利用できます。

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 の利用を開始する

デベロッパー プレビューには、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 デベロッパー サイト (英語) でご覧いただけます。


Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play