ベンダー API レベル

ベンダー API レベルとは、 ベンダー パーティション。インターフェースは双方向です。API について記述し、 ベンダー パーティションがシステム パーティションに提供する HAL インターフェースなど)と、ベンダーがパーティション分割する API を システム パーティション(低レベルのネイティブ デベロッパー キットまたは LLNDK インターフェース)。

ベンダー API レベルは、ベンダー ソフトウェア要件の決定にも使用されます。 (VSR)という、一連の機能的要件と非機能的要件 ベンダー パーティションのソフトウェアが満たさなければなりません。

このページの残りの部分では、 プロパティを使用して、Android のバージョンに応じてベンダーを API レベル。

ベンダー フリーズ

Android では、ベンダーは特定のバージョンのベンダー パーティションをフリーズできます。 VSRセット Android がベンダー パーティションに期待する機能はすべて、 ベンダー パーティションに関連付けられたベンダー API レベル。動作は実行時に システム パーティションで実行されるソフトウェアの ベンダー パーティションのベンダー API レベル。たとえば、 システム パーティションは、 API レベルを指定します。

ベンダー フリーズは、 Android 互換デバイス

ベンダー API レベルを確認する(Android 14-QPR3 以降)

Android 14-QPR3 以降の場合、ベンダー API レベルは次のとおりです。 つまり、SDK API レベルとベンダーが API レベルが同期していません。

個別のリリース スケジュールにより、 14-QPR3 以降では、ベンダーの API レベルは完全に 分離されていますこの分離を明確にするために、 ベンダー API レベルの形式は、YYYYMM(年と月)形式の日付です。 SDK レベルは整数です。

Android 14-QPR3 以降には、次のシステムが搭載されています。 ベンダー API レベル(ro.vendor.api_level)に関連するプロパティ:

システム プロパティ 形式 説明 初期設定
ro.board.api_level YYYYMM チップセットのソフトウェアがサポートするベンダー API レベル。このプロパティは、すべてのチップセットに設定されます。 これはビルドシステムによって自動的に設定されます。
ro.board.first_api_level YYYYMM チップセットのソフトウェアが最初にリリースされたベンダー API レベル。このプロパティはチップセットのみの関数であり、SoC チップセットがベンダー フリーズの条件を満たしている場合、SoC ベンダーによって設定されます。初期設定後に変更することはできません。 SoC ベンダーは、BOARD_SHIPPING_API_LEVEL を使用してこの設定を設定します。
ro.product.first_api_level 整数 デバイスが最初にリリースされた SDK API レベル。 このプロパティは OEM によって設定され、OS のアップグレード後も更新されません。
ro.vendor.api_level YYYYMM デバイス全体が準拠する必要があるベンダー API レベル。 この表の後で説明。
ro.board.api_frozen ブール値 ro.board.api_level が表すベンダー API レベルが確定すると、このプロパティは true に設定されます。 このプロパティが設定されていない場合、デフォルトは false です。
ro.llndk.api_level YYYYMM システム パーティション内の現在の LLNDK が提供している、YYYYMM 形式のベンダー API レベル。LLNDK には下位互換性があるため、この API レベル以下のベンダー イメージはすべて、このシステム イメージを使用して書き込むことができます。 このプロパティはシステム パーティションによって設定されます。

ro.vendor.api_level プロパティは、次のいずれかの方法で取得されます。

  • チップセットがベンダー フリーズの条件を満たしている場合:

    ro.vendor.api_level = min(
      ro.board.api_level,
      AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))
    
  • チップセットがベンダー フリーズ状態ではない場合:

    ro.vendor.api_level =
      AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level)
    

AVendorSupport_getVendorApiLevelOf() メソッドは、対応する SDK API レベルからベンダー API レベルをたとえば AVendorSupport_getVendorApiLevelOf(35)35 は実際の SDK の SDK API レベル) 2024 年の Android のメジャー リリースでは 202404 が返されます。これは、 現在のベンダー API レベルが あります。

ベンダーの API レベルを確認する(Android 13)

ベンダーの API レベルは、SDK の API レベルに準じます。これはアプリ OS 用の 年 1 回、新しい Android プラットフォームがリリースされると更新されます。 AOSP に追加します。

Android 13 には以下のシステムが搭載されています ベンダー API レベル(ro.vendor.api_level)に関連するプロパティ:

システム プロパティ 形式 説明 初期設定
ro.board.first_api_level 整数 チップセットのソフトウェアが最初にリリースされたベンダー API レベル。これはチップセットのみの機能であり、SoC ベンダーや OEM が変更することはできません。このプロパティは、ベンダー フリーズの対象となるチップセットに対してのみ設定されます。 値は、device.mk ファイルで BOARD_SHIPPING_API_LEVEL を設定することで決定されます。
ro.board.api_level 整数 チップセットのソフトウェアがサポートするベンダー API レベル。このプロパティは、ベンダー フリーズの対象となるチップセットに対してのみ設定されます。このプロパティは、すべてのチップセットに設定されます。 最初にこのプロパティの値は、ビルドシステムによって ro.board.first_api_level と同じ値に設定されますが、ベンダー パーティションがアップグレードされると更新できます。
ro.product.first_api_level 整数 デバイスが最初にリリースされた SDK API レベル。 このプロパティは OEM によって設定され、OS のアップグレード後も更新されません。
ro.vendor.api_level 整数 デバイス全体が準拠する必要があるベンダー API レベル。 この表の後で説明。
ro.vndk.version 整数 ベンダー パーティションがビルドされる VNDK のバージョン。 このプロパティはシステム パーティションによって設定されます。
ro.vendor.build.version.sdk 整数 ベンダー パーティションがビルドされたソースツリーの SDK API レベル。
ro.vendor.build.version.release 整数 ベンダー パーティションがビルドされたソースツリーのプラットフォーム バージョン。
ro.vendor.build.version.release_or_codename 整数 ベンダー パーティションがビルドされたソースツリーのコード名。

ro.vendor.api_level プロパティは、自動的に最小値 ro.board.api_levelro.board.api_level が定義されていない場合は ro.board.first_api_level)に設定されます。 ro.product.first_api_level