SDK Extensions 模組會決定裝置的擴充功能 SDK 級別,以及 提供的 API,讓應用程式查詢擴充功能 SDK 級別。本單元 可更新,意味著可接收非正常功能的更新 Android 發布週期。
SDK 擴充功能負責:
- 決定裝置的擴充功能 SDK 級別。
- 提供 API,讓應用程式查詢擴充功能 SDK 級別。
- (從 Android 12 開始) 定義
BOOTCLASSPATH
、DEX2OATBOOTCLASSPATH
和SYSTEMSERVERCLASSPATH
環境變數。
模組格式
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
敬上
並可能隨時間改變