|author||Anton Hansson <email@example.com>||Tue Nov 24 09:32:14 2020 +0000|
|committer||Anton Hansson <firstname.lastname@example.org>||Tue Nov 24 09:32:14 2020 +0000|
Move CtsSdkExtensions into SdkExtension repository These tests should live with the module they are testing. Bug: 174123164 Test: presubmit (verify CtsSdkExtensions is running) Merged-In: I7885e2307ae46248168de0b2fdbb154bf79bb406 Change-Id: I7885e2307ae46248168de0b2fdbb154bf79bb406
SdkExtensions is a module that decides the extension SDK level of the device, and provides APIs for applications to query the extension SDK level.
The module is packaged in an apex,
com.android.sdkext, and has two components:
bin/derive_sdk: Native binary that runs early in the device boot process and reads metadata of other modules, to set system properties relating to the extension SDK (for instance
javalib/framework-sdkextension.jar: This is a jar on the bootclasspath that exposes APIs to applications to query the extension SDK level.
derive_sdk is a program that reads metadata stored in other apex modules, in the form of binary protobuf files in subpath
etc/sdkinfo.binarypb inside each apex. The structure of this protobuf can be seen here. The exact steps for converting a set of metadata files to actual extension versions is likely to change over time, and should not be depended upon.
The module exposes a java class
SdkExtensions in the package
android.os.ext. The method
getExtensionVersion(int) can be used to read the version of a particular sdk extension, e.g.