diff --git a/apex/sdkext/Android.bp b/apex/sdkext/Android.bp index 12d6b8687eb1d..b132f7e3ff4c5 100644 --- a/apex/sdkext/Android.bp +++ b/apex/sdkext/Android.bp @@ -17,7 +17,10 @@ apex { manifest: "manifest.json", binaries: [ "derive_sdk" ], java_libs: [ "framework-sdkext" ], - prebuilts: [ "com.android.sdkext.ldconfig" ], + prebuilts: [ + "com.android.sdkext.ldconfig", + "cur_sdkinfo", + ], key: "com.android.sdkext.key", certificate: ":com.android.sdkext.certificate", } @@ -39,3 +42,28 @@ prebuilt_etc { filename: "ld.config.txt", installable: false, } + +python_binary_host { + name: "gen_sdkinfo", + srcs: [ + "derive_sdk/sdk.proto", + "gen_sdkinfo.py", + ], + proto: { + canonical_path_from_root: false, + }, +} + +gensrcs { + name: "cur_sdkinfo_src", + srcs: [""], + tools: [ "gen_sdkinfo" ], + cmd: "$(location) -v 0 -o $(out)", +} + +prebuilt_etc { + name: "cur_sdkinfo", + src: ":cur_sdkinfo_src", + filename: "sdkinfo.binarypb", + installable: false, +} diff --git a/apex/sdkext/gen_sdkinfo.py b/apex/sdkext/gen_sdkinfo.py new file mode 100644 index 0000000000000..5af478ba7fe63 --- /dev/null +++ b/apex/sdkext/gen_sdkinfo.py @@ -0,0 +1,19 @@ +import sdk_pb2 +import sys + +if __name__ == '__main__': + argv = sys.argv[1:] + if not len(argv) == 4 or sorted([argv[0], argv[2]]) != ['-o', '-v']: + print('usage: gen_sdkinfo -v -o ') + sys.exit(1) + + for i in range(len(argv)): + if sys.argv[i] == '-o': + filename = sys.argv[i+1] + if sys.argv[i] == '-v': + version = int(sys.argv[i+1]) + + proto = sdk_pb2.SdkVersion() + proto.version = version + with open(filename, 'wb') as f: + f.write(proto.SerializeToString())