2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
HIDL フレームワークの下位互換性の確認
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
HIDL HAL は、Android コアシステム(system.img またはフレームワークとも呼ばれます)が下位互換性を持つことを保証します。ベンダー テストスイート(VTS)のテストでは、HAL が期待どおりに動作することを確認します(たとえば、1.1 HAL のテストはすべての 1.2 実装で実施されます)。一方、フレームワークのテストでは、サポートする HAL(1.0、1.1、1.2)が提供されているときに、フレームワークがその HAL とともに適切に動作することを確認する必要があります。
HAL インターフェース定義言語(HIDL)の詳細については、HIDL、HIDL のバージョニング、および HIDL HAL のサポート終了をご覧ください。
HAL のアップグレードについて
HAL のアップグレードには、メジャーとマイナーの 2 種類があります。
ほとんどのシステムには HAL 実装が 1 つしかありませんが、複数の実装がサポートされています。次に例を示します。
android.hardware.teleport@1.0 # initial interface
android.hardware.teleport@1.1 # minor version upgrade
android.hardware.teleport@1.2 # another minor version upgrade
...
android.hardware.teleport@2.0 # major version upgrade
...
システム パーティションには通常、HAL 実装の特定のグループとの通信を管理するフレームワーク デーモン(teleportd
など)が含まれます。あるいは、便利なクライアントの動作を実装するシステム ライブラリ(android.hardware.configstore-utils
など)をシステムに含めることもできます。上記の例では、デバイスにインストールされている HAL のバージョンに関係なく teleportd
が機能する必要があります。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-04-04 UTC。
[null,null,["最終更新日 2025-04-04 UTC。"],[],[],null,["# HIDL Framework backward compatibility verification\n\n[HIDL HALs](/docs/core/architecture#hidl)\nguarantee the Android core system (aka system.img or the framework) is\nbackward compatible. While [Vendor Test Suite (VTS)](/docs/compatibility/vts)\ntests ensure that HALs work as expected (e.g. 1.1 HAL tests are run on all\n1.2 implementations), framework testing is needed to ensure that when a\nsupported HAL (1.0, 1.1, or 1.2) is provided, the framework works properly\nwith that HAL.\n\nFor details on HAL interface definition language (HIDL), refer to\n[HIDL](/docs/core/architecture/hidl), [HIDL versioning](/docs/core/architecture/hidl/versioning), and [HIDL HAL Deprecation](/docs/core/architecture/vintf/fcm#hal-version-deprecation).\n\nAbout HAL upgrades\n------------------\n\nThere are two types of HAL upgrades: *major* and *minor*.\nMost systems include only one HAL implementation, but multiple\nimplementations are supported. For example: \n\n```\nandroid.hardware.teleport@1.0 # initial interface\nandroid.hardware.teleport@1.1 # minor version upgrade\nandroid.hardware.teleport@1.2 # another minor version upgrade\n...\nandroid.hardware.teleport@2.0 # major version upgrade\n...\n```\n\nThe system partition typically includes a framework daemon (such as\n`teleportd`) that manages communication with a specific group of\nHAL implementations. Alternatively, systems might instead\ninclude a system library (such as\n`android.hardware.configstore-utils`) that implements convenient\nclient behavior. In the example above, `teleportd` must work no\nmatter what version of the HAL is installed on the device."]]