Anbieter-API-Level

Das API-Level des Anbieters bezieht sich auf die Version der Schnittstelle, die vom Anbieterpartitionierung. Die Schnittstelle ist bidirektional. wird die API beschrieben. die die Anbieterpartition für die Systempartition bereitstellt, Abstraktionsschicht oder HAL-Schnittstelle) sowie das API, das von der Anbieterpartitionierung aus der Systempartition (das Low-Level Native Developers Kit oder LLNDK-Schnittstelle).

Das API-Level des Anbieters wird auch verwendet, um die Anforderungen an die Anbietersoftware zu ermitteln Hierbei handelt es sich um eine Sammlung funktionaler und nichtfunktionaler Anforderungen, die Software in der Anbieterpartition erfüllen muss.

Auf dieser Seite wird beschrieben, wie System Eigenschaften werden je nach Ihrer Android-Version verwendet, um den Anbieter zu ermitteln. API-Level.

Anbieterbeschränkung

Mit Android kann ein Anbieter die Anbieterpartition auf einer bestimmten die VSR zu verstehen. Das Set der Funktionen, die Android von der Anbieterpartition erwartet, durch die Das mit der Anbieterpartition verknüpfte Anbieter-API-Level. Während der Laufzeit der auf der Systempartition ausgeführten Software Anbieter-API-Level der Anbieterpartition. Zum Beispiel könnte die Software in der Systempartitionierung neue Funktionen möglicherweise nicht aus, wenn sie nicht von API-Ebene der Anbieterpartition.

Das Einfrieren von Anbietern ist nur möglich, wenn Sie eine Android-kompatibles Gerät

API-Level des Anbieters bestimmen (Android 14-QPR3 und höher)

Ab Android 14-QPR3 ist das API-Level des Anbieters werden separat veröffentlicht, d. h. SDK-API-Level und Anbieter API-Level sind nicht synchronisiert.

Aufgrund der separaten Veröffentlichungszeitpläne für Android 14-QPR3 und höher, ist das API-Level des Anbieters vollständig von der SDK API-Ebene entkoppelt sind. Um sicherzustellen, dass diese Entkopplung klar ist, des Anbieter-API-Levels ist ein Datum im Format JJJJMM (Jahr und Monat). während das SDK-Level eine Ganzzahl ist.

Android 14-QPR3 und höher enthält das folgende System Eigenschaften im Zusammenhang mit der API-Ebene des Anbieters (ro.vendor.api_level):

Systemeigenschaft Formatieren Beschreibung Anfangseinstellung
ro.board.api_level JJJJMM Das API-Level des Anbieters, das von der Software eines Chipsatzes unterstützt wird. Diese Eigenschaft ist für alle Chipsätze festgelegt. Diese wird vom Build-System automatisch festgelegt.
ro.board.first_api_level JJJJMM Das API-Level des Anbieters, mit dem die Software eines Chipsatzes erstmals veröffentlicht wurde. Diese Eigenschaft ist nur eine Funktion des Chipsatzes und wird von SoC-Anbietern festgelegt, wenn der SoC-Chipsatz für das Einfrieren von Anbietern infrage kommt. Nach der ersten Einstellung darf diese Einstellung nicht mehr geändert werden. SoC-Anbieter legen diese Einstellung mit BOARD_SHIPPING_API_LEVEL fest.
ro.product.first_api_level Ganzzahl Das SDK-API-Level, mit dem das Gerät ursprünglich gestartet wurde. Diese Eigenschaft wird vom OEM festgelegt und dann auch nach Betriebssystem-Upgrades nie aktualisiert.
ro.vendor.api_level JJJJMM Das API-Level des Anbieters, das das Gerät als Ganzes erfüllen muss. Wird nach dieser Tabelle beschrieben.
ro.board.api_frozen boolean Dieses Attribut wird auf true gesetzt, wenn die API-Ebene des Anbieters, für die ro.board.api_level steht, endgültig ist. Wenn dieses Attribut nicht festgelegt ist, wird standardmäßig false verwendet.
ro.llndk.api_level JJJJMM Das API-Level des Anbieters im Format JJJJMM, das der aktuelle LLNDK in der Systempartition bereitstellt. Das LLNDK ist abwärtskompatibel. Daher kann jedes Anbieter-Image, das kleiner oder gleich diesem API-Level ist, mit diesem System-Image geflasht werden. Dieses Attribut wird von der Systempartition festgelegt.

Das Attribut ro.vendor.api_level wird auf eine der beiden folgenden Arten abgeleitet:

  • Wenn der Chipsatz die Voraussetzungen für Anbietereinfrieren erfüllt:

    ro.vendor.api_level = min(
      ro.board.api_level,
      AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))
    
  • Wenn der Chipsatz nicht vom Anbieter eingefroren ist:

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

Die Methode AVendorSupport_getVendorApiLevelOf() bestimmt die entsprechende des Anbieter-API-Levels von einem SDK-API-Level an. Beispiel: AVendorSupport_getVendorApiLevelOf(35), wobei 35 das SDK-API-Level des Android-Hauptrelease im Jahr 2024 gibt 202404 zurück. Das ist das ungefähre Datum für Android 14-QPR3, wenn das aktuelle Vendor API-Level war festgelegt.

API-Level des Anbieters bestimmen (Android 13)

Das API-Level des Anbieters entspricht dem SDK-API-Level, das für das App-Betriebssystem gilt. und wird einmal jährlich aktualisiert, wenn die neue Android-Plattform veröffentlicht wird. an AOSP.

Android 13 enthält das folgende System Eigenschaften im Zusammenhang mit der API-Ebene des Anbieters (ro.vendor.api_level):

Systemeigenschaft Formatieren Beschreibung Anfangseinstellung
ro.board.first_api_level Ganzzahl Das API-Level des Anbieters, mit dem die Software eines Chipsatzes erstmals veröffentlicht wurde. Dies ist eine Funktion des Chipsatzes und kann weder von SoC-Anbietern noch von OEMs geändert werden. Diese Eigenschaft wird nur für Chipsätze festgelegt, bei denen eine Anbietersperre infrage kommt Der Wert wird durch Festlegen von BOARD_SHIPPING_API_LEVEL in der Datei device.mk festgelegt.
ro.board.api_level Ganzzahl Das API-Level des Anbieters, das von der Software eines Chipsatzes unterstützt wird. Diese Eigenschaft wird nur für Chipsätze festgelegt, bei denen eine Anbieterbeschränkung festgelegt werden kann. Diese Eigenschaft ist für alle Chipsätze festgelegt. Anfangs wird der Wert dieses Attributs vom Build-System auf denselben Wert wie ro.board.first_api_level festgelegt, kann aber aktualisiert werden, wenn die Anbieterpartition aktualisiert wird.
ro.product.first_api_level Ganzzahl Das SDK-API-Level, mit dem das Gerät ursprünglich gestartet wurde. Diese Eigenschaft wird vom OEM festgelegt und dann auch nach Betriebssystem-Upgrades nie aktualisiert.
ro.vendor.api_level Ganzzahl Das API-Level des Anbieters, das das Gerät als Ganzes erfüllen muss. Wird nach dieser Tabelle beschrieben.
ro.vndk.version Ganzzahl Die VNDK-Version, auf der die Anbieterpartition basiert. Dieses Attribut wird von der Systempartition festgelegt.
ro.vendor.build.version.sdk Ganzzahl Das SDK API-Level der Quellstruktur, in der die Anbieterpartition erstellt wurde.
ro.vendor.build.version.release Ganzzahl Die Plattformversion der Quellstruktur, in der die Anbieterpartition erstellt wurde.
ro.vendor.build.version.release_or_codename Ganzzahl Der Codename der Quellstruktur, in der die Anbieterpartition erstellt wurde.

Das Attribut ro.vendor.api_level wird automatisch auf den Mindestwert ro.board.api_level (oder ro.board.first_api_level, wenn ro.board.api_level nicht definiert ist) festgelegt. ro.product.first_api_level.