OTA アップデート

実際に利用中の Android デバイスで、システムやアプリ ソフトウェア、タイムゾーン ルールの無線(OTA)アップデートを受信し、インストールすることができます。このセクションでは、アップデート パッケージの構造と、パッケージをビルドするために提供されているツールについて説明します。対象読者は、新しい Android デバイスで機能する OTA アップデートを提供するデベロッパーと、リリース済みデバイス向けのアップデート パッケージをビルドするデベロッパーです。

OTA アップデートは、基盤のオペレーティング システム、システム パーティションにインストールされている読み取り専用アプリ、タイムゾーン ルールのアップグレードを目的とするものであり、ユーザーが Google Play からインストールしたアプリには影響しません。

仮想 A/B(シームレス)システム アップデート

最新の Android デバイス(Android 11 以降)は、アップデート中、各パーティション(A と B)のコピーを 2 つ維持します。このアップデート メカニズムは圧縮ありの仮想 A/B と呼ばれます。レガシー A/B アップデート(Android 10 以前)は 1 つのパーティションにつき 2 つのコピーを保持しました。一方、仮想 A/B は、ブート クリティカルなパーティションのために 2 つの物理スロットのみを保持します。未使用スロットは、ブートクリティカルなパーティションのために直接書き込まれます。動的パーティションは、画像サイズがより大きくなる傾向があるため、圧縮スナップショットとして書き込まれる新しいオペレーティング システム データを備えます。圧縮スナップショットでは、必要な容量を削減しながら 2 つのスロットを備えるエクスペリエンスをデバイスでシミュレーションできます。仮想 A/B の OTA アップデートの詳細については、仮想 A/B(シームレス)システム アップデートをご覧ください。Android システム アップデート API(update_engine)を使用して A/B アップデートをインストールする例を紹介するサンプルアプリについては、SystemUpdaterSample をご覧ください(アプリの詳細は updater_sample/README.md にあります)。

レガシー A/B アップデートおよび非 A/B システム アップデート

レガシー A/B アップデートは、Android の A/B アップデートの最初のバージョンでした。このアップデート メカニズムでは、1 つのパーティションにつき 2 つのスロットが保持されましたが、各パーティションで 2 倍のストレージが必要になるという欠点がありました。詳細については、A/B システム アップデートをご覧ください。Android 15 以降、非 A/B アップデートは非推奨になりました。詳細については、非 A/B システム アップデートをご覧ください。

タイムゾーン ルールのアップデート

Android 8.1 以降では、OEM はシステム アップデートを行わなくても、アップデートしたタイムゾーン ルールのデータをデバイスにプッシュできます。この仕組みにより、ユーザーはタイムリーなアップデートを受信できます(それによって Android デバイスの有効な耐用期間が長くなります)。また、OEM はシステム イメージのアップデートと無関係にタイムゾーンのアップデートをテストできます。詳細については、タイムゾーン ルールをご覧ください。