2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
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 はシステム イメージのアップデートと無関係にタイムゾーンのアップデートをテストできます。詳細については、タイムゾーン ルールをご覧ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# OTA updates\n\nAndroid devices in the field can receive and install over-the-air (OTA) updates to the system,\napp software, and time zone rules. This section describes the structure of update packages and\nthe tools provided to build them. It is intended for developers who want to make OTA updates\nwork on new Android devices and those who want to build update packages for released devices.\n\n\nOTA updates are designed to upgrade the underlying operating system, the read-only apps\ninstalled on the system partition, and time zone rules; these updates do *not* affect\napps installed by the user from Google Play.\n\nVirtual A/B (seamless) system updates\n-------------------------------------\n\n\nModern Android devices (Android 11 and after) maintain two copies of each partition (A and B) during an update. This\nupdate mechanism is called Virtual A/B with compression. While legacy A/B updates (Android 10 and earlier) kept two\ncopies for every single partition, Virtual A/B only keeps two physical slots for boot critical\npartitions. The unused slot is written to directly for bootcritical partitions. Dynamic\npartitions have new operating system data written as compressed snapshots since their image\nsize tends to be much larger. Compressed snapshots allows a device to simulate the experience\nof having two slots, while reducing space requirements. For more information about Virtual A/B\nOTA updates, see\n[Virtual A/B (seamless) system updates](/docs/core/ota/virtual_ab). For\na sample app that provides examples on using Android system update APIs (that is,\n`update_engine`) to install A/B updates, refer to\n[SystemUpdaterSample](https://android.googlesource.com/platform/bootable/recovery/+/android16-release/updater_sample/)\n(app details available in\n[`updater_sample/README.md`](https://android.googlesource.com/platform/bootable/recovery/+/android16-release/updater_sample/README.md)).\n\nLegacy A/B updates and Non-A/B system updates\n---------------------------------------------\n\n\nLegacy A/B updates were the first version of A/B updates in Android. This update mechanism\nkept two slots of every single partition, but had the drawback of needing twice the storage\nfor each partition. For more information see,\n[A/B system updates](/docs/core/ota/ab). As of\nAndroid 15, non A/B updates are deprecated. For more information, see\n[Non-A/B system updates](/docs/core/ota/nonab).\n\nTime zone rule updates\n----------------------\n\n\nAs of Android 8.1, OEMs can push updated time zone rules data to devices without requiring a\nsystem update. This mechanism enables users to receive timely updates (thus extending the\nuseful lifetime of an Android device) and OEMs to test time zone updates independently of\nsystem image updates. For details, see\n[Time zone rules](/docs/core/permissions/timezone-rules)."]]