Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

SDK Extensions

SDK Extensions モジュールはデバイスの拡張 SDK レベルを決定し、アプリで拡張 SDK レベルを照会するための API を提供します。このモジュールは更新可能です。つまり、通常の Android リリース サイクル外で機能のアップデートを受信できます。

SDK Extensions モジュールには次のコンポーネントがあります。

  • bin/derive_sdk。このネイティブ バイナリは、デバイスの起動プロセスの初期段階で実行され、他のモジュールのメタデータを読み取り、拡張 SDK に関連するシステム プロパティ(例: build.version.extensions.r)を設定します。

  • javalib/framework-sdkextension.jar。このファイルは、API をアプリに公開して拡張 SDK レベルを照会する bootclasspath にあります。

モジュールの形式

SDK Extensions モジュール(com.android.sdkext)は APEX 形式であり、Android 11 以降を搭載したデバイスで使用できます。

拡張 SDK レベルの導出

derive_sdk プログラムは、各 APEX モジュール内の etc/sdkinfo.binarypb サブパスにバイナリ protobuf ファイルとして格納されているメタデータを読み取ります。protobuf 構造の詳細については、sdk.proto ファイルをご覧ください。

拡張 SDK レベルの読み取り

SDK Extensions モジュールでは、android.os.ext パッケージの SdkExtensions Java クラスを公開しています。getExtensionVersion(int) メソッドを使用して、SDK 拡張機能のバージョン(getExtensionVersion(Build.VERSION_CODES.R) など)を読み取ります。