SDK 擴充功能

SDK Extensions 模組會決定裝置的擴充功能 SDK 級別,以及 提供的 API,讓應用程式查詢擴充功能 SDK 級別。本單元 可更新,意味著可接收非正常功能的更新 Android 發布週期。

SDK 擴充功能負責:

  • 決定裝置的擴充功能 SDK 級別。
  • 提供 API,讓應用程式查詢擴充功能 SDK 級別。
  • (從 Android 12 開始) 定義 BOOTCLASSPATHDEX2OATBOOTCLASSPATHSYSTEMSERVERCLASSPATH 環境變數。

模組格式

SDK Extensions 模組 (com.android.sdkext) 位於 APEX 格式,適用於裝置 搭載 Android 11 以上版本。

套件格式

SDK Extensions 模組 (com.google.android.sdkext) 位於 APEX 格式和 包含下列元件:

  • (Android 12 起) bin/derive_classpath:A 在裝置開機早期執行原生二進位檔 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作從系統中讀取個別 classpath 設定檔 也可以合併這些模組,並定義 CLASSPATH 的定義 環境變數

  • bin/derive_sdk:在裝置啟動程序早期執行的原生二進位檔 以及讀取其他模組的中繼資料,以設定相關系統屬性 擴充功能 SDK (例如 build.version.extensions.r)。

  • javalib/framework-sdkextension.jar:這個檔案位於會 會向應用程式公開 API,以便查詢擴充功能 SDK 級別。

衍生擴充功能 SDK 級別

derive_sdk 程式會讀取儲存在 每個 APEX 模組中的 etc/sdkinfo.binarypb 子路徑。進一步瞭解 protobuf 請參閱 protobuf敬上 檔案。

讀取擴充功能 SDK 級別

SDK Extensions 模組會提供 SdkExtensions敬上 java 類別。android.os.ext使用「getExtensionVersion(int)」 方法讀取 SDK 擴充功能版本 (例如 getExtensionVersion(Build.VERSION_CODES.R))。

衍生類別路徑

derive_classpath 服務會在 /system/etc/classpaths//apex/*/etc/classpaths/。每項設定儲存庫 來自 classpaths.proto 的 protobuf 訊息 採 proto 二進位格式決定順序的確切合併演算法 會說明類別路徑 derive_classpath.cpp敬上 並可能隨時間改變