Android でのアプリの互換性

Android における「アプリの互換性」とは、アプリが特定のバージョンのプラットフォーム(通常は最新バージョン)で正常に動作することを意味します。リリースごとにプライバシーとセキュリティを向上させる重要な変更が行われています。また、OS 全体のユーザー エクスペリエンス全般に影響する変更も実装されています。これらの変更がアプリに影響する可能性があるため、各リリース バージョンに含まれる動作変更を確認してテストし、ユーザーに対し互換性アップデートを公開することが重要です。

アプリの互換性が重要である理由

新しいデバイスを購入した場合や、現在のデバイスにアップデートをインストールした場合など、Android の最新版にアップデートすると、アプリの互換性はすぐにユーザーに影響を与えます。ユーザーは Android の最新バージョンを楽しみにしており、お気に入りのアプリで Android を体験したいと考えています。アプリが正しく動作しない場合は、ユーザーとデベロッパーの双方に大きな問題が発生する可能性があります。

プラットフォームの動作変更の種類

アプリを新しいプラットフォーム バージョンで実行する場合、アプリに影響する変更には次の 2 種類があります。

すべてのアプリ向けの変更点

これらの変更は、アプリの targetSdkVersion にかかわらず、そのバージョンの Android で実行されるすべてのアプリに影響を及ぼします。

新しい Android バージョンのデベロッパー プレビューとベータ版リリース中に、これらの変更に対するアプリの互換性を事前にテストする必要があります。Pixel やその他のデバイスの更新は、新しい Android バージョンが Android オープンソース プロジェクト(AOSP)の最新リリースに到達するとすぐに開始されます。そのため、これらのテストを事前に行うことにより、ユーザーが対象デバイスの最新の Android バージョンにシームレスに移行できるようになります。

ターゲット固有の変更

これらの変更は、特定の Android バージョンをターゲットとしているアプリのみを対象としています。

これらの変更には、現在 Android 11(API レベル 30)である最新の安定版 API を対象にするために、互換性テストを行う必要があります。新しいバージョンの Android をすぐにターゲットにする予定がなくても、このような変更に対処するには膨大な開発が必要となる可能性があります。開発期間中のできるだけ早い段階、理想的には新規の各 Android バージョンのデベロッパー プレビューとベータ版リリース期間中に確認をすることで、予備テストを行い、フィードバックを提供できます。

互換性フレームワーク ツール

互換性をテストできるように、互換性フレームワークの各リリースには可能な限りの互換性を破る変更が含まれています。互換性フレームワークに変更を含めると、切り替えが可能になり、開発者向けオプションや ADB とは別に変更を強制的に有効または無効にできます。互換性フレームワークを使用する場合、アプリの targetSdkVersion を変更したり、基本的なテストのためにアプリを再コンパイルする必要はありません。

詳細については、アプリでのプラットフォームの動作変更のテストとデバッグをご覧ください。

非 SDK インターフェースの制限

非 SDK API からデベロッパーを段階的に移行する継続的な取り組みの一環として、各 Android リリースで制限付きの非 SDK インターフェースのリストを更新しています。いつもお伝えしていることですが、フィードバックや公開 API やその他のリクエストがありましたら、ぜひお願いします。

プラットフォーム リリース

Android の最新リリースの詳細をご確認ください。