Android の目的は、デベロッパーが革新的なアプリを構築するためのオープン プラットフォームを確立することです。
- Android 互換性プログラムは、Android プラットフォームの技術的な詳細を定義し、OEM がデベロッパー向けアプリケーションをさまざまなデバイスで実行できるようにするツールを提供します。
- Android SDK には、デベロッパーがアプリケーションに必要なデバイス機能を明確に示すための組み込みツールが用意されています。
- Google Play などのアプリ配信システムは、アプリをフィルタリングしてユーザーが自分のデバイスに対応するアプリだけを表示できるようにします。
互換性のある Android デバイスを構築する理由
カスタマイズ可能なデバイスが欲しいユーザー

図 1. デバイスの互換性を犠牲にしない Android エコシステム
常時ユーザーのそばにあり、ユーザーが常時使用しているモバイル デバイスは、インターネットへのゲートウェイです。機能を拡張してカスタマイズしたくないユーザーなどいません。そのため、Android はアフターマーケット アプリケーションを実行させる堅牢なプラットフォームとして設計されました。
数で上回るデベロッパー
ユーザーが必要とすると思われるソフトウェアをすべて開発できるデバイス メーカーはありません。ユーザーが望むアプリを開発するにはサードパーティのデベロッパーが必要になるため、Android オープンソース プロジェクト(AOSP)は、アプリケーション開発をできるだけ簡単でオープンにすることを目指しています。
誰もが共通のエコシステムを必要としている
バグを回避するためにコード開発者が作成したコード行はすべて、新しい機能の追加とは無関係です。モバイル デバイスの互換性が高いほど、該当するデバイスで実行する必要に迫られるアプリケーションが増えます。完全互換の Android デバイスを構築することにより、Android 向けに作成された膨大なアプリから利益が得られる一方、より多数のアプリ構築に対するデベロッパーのインセンティブも高められます。
プログラムの目標
Android 互換性プログラムは、ユーザー、デベロッパー、デバイス メーカーなどの Android コミュニティ全体に利益をもたらせるよう機能します。
各グループは他のグループに依存しています。ユーザーは、幅広いデバイスと優れたアプリを求めています。優れたアプリを提供するのは、ユーザーが手にする多くのデバイスを対象にアプリを広めて大市場を目指すデベロッパーです。デバイス メーカーは、多種多様な優れたアプリを利用して、消費者にとっての製品価値を高めています。
こうした各グループに利益をもたらすことを目的として、下記の目標を定めました。
-
アプリケーション デベロッパーに一貫したアプリケーションとハードウェア環境を提供する。 確かな互換性標準がないと、デバイスは大幅に異なるため、デベロッパーはデバイスごとにアプリケーションの異なるバージョンを設計する必要があります。互換性プログラムは、API や機能面で互換性のあるデバイスに要求されるものを正確に定義し、デベロッパーに提供します。デベロッパーはこの情報を使用して、設計上の判断を適切に下し、互換性のあるデバイスでアプリが適切に動作することを保証できます。
-
消費者に対する一貫したアプリケーション エクスペリエンスを実現する。 ある 1 つの Android 互換デバイスで正常に動作するアプリケーションは、同じ Android プラットフォーム バージョンと互換性のある他のデバイスでも正常に動作するはずです。Android デバイスはハードウェアとソフトウェアの機能が異なるため、互換性プログラムでは、Google Play などの配信システムが適切なフィルタリングを実装するために必要なツールも提供します。つまり、ユーザーには実際に実行できるアプリケーションのみが表示されます。
-
デバイス メーカーが互換性を維持しながら差別化できるようにする。デバイス メーカーが互換性を維持しながら差別化できるようにする。 Android 互換性プログラムでは、サードパーティ アプリケーションの実行に関連する Android の側面に重点を置いています。このため、デバイス メーカーは互換性のある独自のデバイスを柔軟に開発できます。
-
互換性に伴うコストとオーバーヘッドを最小限に抑える。 互換性の確保は、デバイス メーカーにとって手軽で安価である必要があります。テストツールは無料のオープンソースであり、ダウンロードも可能です。 デバイス開発プロセス時にセルフテストを継続的に行えるよう設計されており、ワークフローの変更や、サードパーティへのデバイスの送付(テスト用途)などのコストを排除できます。必要な認定資格はなく、対応する費用や手数料もありません。
プログラム コンポーネント
Android 互換性プログラムは、主に次の 3 つのコンポーネントで構成されています。
- Android オープンソース プロジェクトのソースコード
- 互換性定義ドキュメント(CDD)。互換性の「ポリシー」の側面を表しています。
- 互換性テストスイート(CTS)。互換性の「メカニズム」を表しています。
無料で簡単な Android 互換
Android 互換のモバイル デバイスを構築する手順は次のとおりです。
- Android ソフトウェアのソースコードを入手します。これは、ハードウェアに移植する Android プラットフォームのソースコードです。
- Android 互換性定義ドキュメント(CDD)(PDF、HTML)を遵守します。CDD には、互換性のある Android デバイスに関するソフトウェア要件とハードウェア要件が列挙されています。
- 互換性テストスイート(CTS)に合格することを確認します。CTS は、開発プロセスで互換性を評価するために継続的に使用します。
CDD に準拠し、CTS に合格すると、デバイスは Android 互換になります。つまり、エコシステム内の Android アプリは、デバイスで実行する際に一貫したエクスペリエンスを提供します。
Android プラットフォームの各バージョンがソースコード ツリーの別個のブランチに存在するのと同様に、バージョンごとに CTS と CDD が別個に存在します。CDD、CTS、ソースコードは、ハードウェアやソフトウェアのカスタマイズに加えて、互換性のあるデバイスを開発するために必要なものです。
Google モバイル サービス(GMS)のライセンス供与
Android 互換デバイスを構築したら、Google モバイル サービス(GMS)のライセンス供与について検討しましょう。これには、Android で実行される Google 独自のアプリスイート(Google Play、YouTube、Google マップ、Gmail など)が含まれます。GMS は Android オープンソース プロジェクトに含まれておらず、Google のライセンスでのみご利用いただけます。 GMS ライセンスをリクエストする方法については、Google のお問い合わせ / コミュニティ ページをご覧ください。