大事なお知らせ
Platform Stability
Android 11 では、Platform Stability と呼ばれる新しいリリース マイルストーンを追加しました。これは、デベロッパーに対して、すべての API とシステム動作が確定したことを明確に示すためのものです。Android 11 Beta 2 で、Android 11 は Platform Stability に到達しました。これは、最終の互換性テストとアップデートを行う絶好のタイミングです。
Android 11 Beta 2 リリースと Platform Stability のブログ記事で、このマイルストーンの意味を詳しく解説しています。また、
Android 11 のスケジュールでもこのマイルストーンについて説明しています。
アプリの互換性
アプリの互換性確認の目的は、Android 11 でアプリをテストし、アプリの機能を維持するために最低限の変更を行い、Android 11 の最終リリースまでに互換性を確保したバージョンをユーザーに公開することです。ほとんどの場合、targetSdkVersion を変更したり、新しい API でコンパイルしたりしなくても対応できるはずです。
アプリやゲームだけでなく、SDK やライブラリ、ツール、フレームワークを開発している皆さんにとっても、今が Android 11 でテストを行い、互換性のあるバージョンをリリースすべきタイミングです。そうしないと、皆さんのプロダクトを使っているアプリやゲームのデベロッパーの作業が、Android 11 と互換性があるバージョンを入手できるまで、滞ってしまう可能性があります。
アプリをテストするためのツール
1 つ目の
互換性フレームワークは、アプリに影響する可能性があるプラットフォームの変更点を管理する際に役立つ新機能です。これにより、変更点に関する標準メタデータ、targetSdkVersion に基づく標準変更条件、アプリに影響する変更点を特定する際に役立つ標準ログ出力が提供されます。デバッグ可能なアプリで開発者向けオプション、[Settings]、adb のいずれかを使用して、動作の変更を切り替えることができます。この機能は、変更点を切り出して個別にテストする際に役立ちます。
端末間や API レベル間のリグレッションを切り分けるのは、時間がかかる複雑な作業になる可能性があります。Android Studio 4.2 では、複数の物理端末や仮想端末で
インスツルメンテーション テストを並列実行し、すべての結果を 1 つのテスト マトリクスで比較できます。そのため、短時間に多くの端末でテストを行って問題を早期に発見できます。
Android Generic System Image(GSI)は、Android 11 のテストを多様な端末に展開する際にうってつけです。これを使い始める際に役立つ
Android GSI コードラボの更新版をリリースしました。GSI を使うと、Android 9 以降のロックフリーな Treble 互換端末に、Android 11 の汎用バージョンをインストールできます。これには、Pixel 端末だけでなく、世界中の Android エコシステムで使われている多くの人気端末も含まれます。
開発者向けオプションのアプリの互換性切り替え
エコシステムのアップデートとアプリの互換性
- 「Accelerating Android Updates」というブログ投稿では、Android のアップデート可能アーキテクチャを拡大することで最新 OS の普及率を高める継続的な取り組みについて考察しています。Project Treble や Google Play システム アップデートなどのテクノロジーにより、短時間で多くの端末にアップデートを配信できるようになり、エコシステム全体の整合性が増しています。
- Project Treble で行ってきた作業で、新規端末と既存端末への Android の新バージョンの導入が劇的に高速化、簡素化されています。さらに、端末メーカーが独自のデベロッパー プレビュー プログラムを実行できるようになり、場合によっては Android 自体の開発が進む中で同時進行させることもできます。こういったプログラムは、端末メーカーが OS のアップデートを短時間で準備し、早い段階で Android デベロッパー コミュニティと協力し合うために役立ちます。
- Google Play システム アップデート(Project Mainline)の目的は、Android エコシステムのさまざまな端末のコア OS コンポーネントを直接アップデートし、エコシステム全体のセキュリティ、プライバシー、整合性を向上させることです。Android 11 では、アップデート可能なモジュールを追加し、アクセス許可、メディア、NNAPI などのアプリに面する重要な領域の動作を標準化しています。
その他の改善には、Generic Kernel Image(GKI)と Virtual A/B のほか、
シームレスなアップデートとストレージ要件の縮小によるメリットを組み合わせた新しい OTA(無線)アップデート メカニズムなどがあります。これらの機能を Android 11 端末に導入するため、端末メーカーと緊密に連携して作業を進めています。
今後これらの機能は、さまざまなプラットフォームのバージョンや端末に対してアプリの互換性を確保するための開発およびテストのコスト削減に役立つことでしょう。
Excelliance Tech の事例
アプリの互換性に関する予期しない問題が起きる一般的な理由は、アプリやゲームが Android の非 SDK インターフェースを使っているからです。Android 11 では、アプリでパブリック API の使用に移行してもらうための
長期的な作業を続けています。
Excelliance Tech は最近、開発している LeBian SDK で、非 SDK インターフェースから安定した公式 API に移行しました。Android チームとの共同作業の成果として、リソース読み込み用の新しいパブリック API も誕生しました。Android 11 ですべてのデベロッパーが使うことができる
ResourcesLoader API です。
Excelliance Tech チーム
関連動画
Android 11 の互換性について計画を立ててアプリをテストする際に役立つ 3 つの動画を投稿しました。プレイリストは
こちらからご覧ください。
以下の動画は、Android の年間リリース スケジュールと、それぞれのフェーズのデベロッパーにとっての意味を簡単にまとめてお話しています。
次の動画は、Android 11 のデベロッパーがテストやデバッグに使える新機能である互換性フレームワークを紹介しています。このフレームワークの概要、役立つ理由、使い方を説明しています。具体例を通して、特定の変更点を有効化する方法、アプリでその変更点をテストする方法、ログ出力を調べてアプリに影響した変更点を特定する方法についてお伝えしています。
最後は、複数の端末で同時にインスツルメンテーション テストを実行する Android Studio の新機能についての動画です。Android Studio はアプリの互換性テストを行う最適なツールです。端末セットの設定方法、端末でテストを実行する方法、そしてテスト マトリックスに移動して結果の比較と分析を行う方法を説明しています。
Android 11 の互換性についての情報をチュートリアルで確認する
Android 11 の互換性について概要を確認したい方は、チュートリアル形式で動画や関連ブログ記事・コードラボをまとめて確認できる
Android 11 の互換性 Pathway をご覧ください。Pathway は、モジュールを順番に完了する形式になっており、最後にはクイズをご用意しています。クイズに合格した方には、もれなくバーチャル バッジが贈られます。このバッジは、
Google Developer プロフィールに保存されます。ぜひ Android 11 互換性の限定バッジを手に入れてください。
#11WeeksOfAndroid 第 4 週 Android 11 の互換性のまとめ
私たちは Android をリリースするたびに、アプリの互換性テストの影響を少なくするための作業を行っています。Android 11 では、互換性テストを簡単にするために、新しいプロセスやデベロッパー ツール、リリース マイルストーンを追加しました。今週提供したリソースが互換性テストを始めるうえで役立つことを期待しています。デベロッパーの皆さんのために、ポイントをまとめます。
- Android 11 は Platform Stability に到達し、アプリに面するすべての API と動作が確定しました。
- アプリやゲームのデベロッパーの方は、すぐに互換性テストを始め、今年の Android 11 最終リリースまでにアップデートをリリースする必要があります。
- SDK・ライブラリやツールの開発者は、それらを利用する開発者の作業を止めないように、できるだけ早くテストを完了して互換性を確保したバージョンをリリースする必要があります。
- 便利な新しいツールや関連情報・ドキュメントもご用意しています。以下のハイライトをご覧ください。さらに詳しい内容は、developer.android.com/11 で確認できます。
関連情報・ドキュメント
#11WeeksOfAndroid 動画コンテンツの全プレイリストは
こちらからご覧いただけます。毎週新しい分野を取り上げますので
ご期待ください。
Twitter や
YouTube のフォローもお願いします。以下は、Android 11 の互換性の週で紹介した関連情報・ドキュメントへのリンクです。
ブログ投稿
動画
コードラボ
チュートリアル
Reddit AMA
関連ドキュメント
編集部注:日本で 8 月 4 日 に Android Studio 4.0 と Jetpack のオンラインイベントを行います
8 月 4 日(火)16 時から、2020 年 6 月に リリースした Android Studio の安定版 4.0 に関するノウハウや、新しいデバッガーの利用、ならびに Jetpack の最新情報をスペシャリストが
オンラインでお伝えする Android 11 Meetups 第 4 回目を日本(日本語)で開催します。Android 11 Meetups は、6 月 23 日 から 9 月 29 日にかけて、計 8 回に渡って開催されている、アプリ開発企業のエンジニアやプロダクト担当の皆さまを主な対象としたオンラインセミナーシリーズです。
ぜひこちらのウェブサイトで登録・参加(視聴)ください。