blob: 0f30c67c53fd92137c9321c4aded2af63963a4e3 [file] [log] [blame]
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
microdroid_filesystem_images = [
"microdroid_super",
"microdroid_boot-5.10",
"microdroid_init_boot",
"microdroid_vendor_boot-5.10",
"microdroid_vbmeta",
"microdroid_vbmeta_bootconfig",
]
apex {
name: "com.android.virt",
// TODO(jiyong): make it updatable
updatable: false,
future_updatable: true,
platform_apis: true,
system_ext_specific: true,
manifest: "manifest.json",
key: "com.android.virt.key",
certificate: ":com.android.virt.certificate",
custom_sign_tool: "sign_virt_apex",
// crosvm and virtualizationservice are only enabled for 64-bit targets on device
arch: {
arm64: {
binaries: [
"crosvm",
"virtualizationservice",
],
filesystems: microdroid_filesystem_images,
},
x86_64: {
binaries: [
"crosvm",
"virtualizationservice",
],
filesystems: microdroid_filesystem_images,
},
},
binaries: [
"fd_server",
"vm",
],
java_libs: [
"android.system.virtualmachine",
],
jni_libs: [
"libvirtualmachine_jni",
],
apps: [
"android.system.virtualmachine.res",
],
prebuilts: [
"com.android.virt.init.rc",
"microdroid.json",
"microdroid_uboot_env",
"microdroid_bootloader",
"microdroid_bootloader.avbpubkey",
"microdroid_bootconfig_normal",
"microdroid_bootconfig_app_debuggable",
"microdroid_bootconfig_full_debuggable",
],
file_contexts: ":com.android.virt-file_contexts",
canned_fs_config: "canned_fs_config",
}
apex_key {
name: "com.android.virt.key",
public_key: "com.android.virt.avbpubkey",
private_key: "com.android.virt.pem",
}
android_app_certificate {
name: "com.android.virt.certificate",
certificate: "com.android.virt",
}
prebuilt_etc {
name: "com.android.virt.init.rc",
src: "virtualizationservice.rc",
filename: "init.rc",
installable: false,
}
// Virt apex needs a custom signer for its payload
python_binary_host {
name: "sign_virt_apex",
srcs: [
"sign_virt_apex.py",
],
version: {
py2: {
enabled: false,
},
py3: {
enabled: true,
embedded_launcher: true,
},
},
required: [
"img2simg",
"lpmake",
"lpunpack",
"simg2img",
],
}
sh_test_host {
name: "sign_virt_apex_test",
src: "sign_virt_apex_test.sh",
test_config: "sign_virt_apex_test.xml",
data_bins: [
// deapexer
"deapexer",
"debugfs_static",
// sign_virt_apex
"avbtool",
"img2simg",
"lpmake",
"lpunpack",
"sign_virt_apex",
"simg2img",
],
data_libs: [
"libbase",
"libc++",
"libcrypto_utils",
"libcrypto",
"libext4_utils",
"liblog",
"liblp",
"libsparse",
"libz",
],
data: [
":com.android.virt",
":test.com.android.virt.pem",
],
test_suites: ["general-tests"],
}
filegroup {
name: "test.com.android.virt.pem",
srcs: ["test.com.android.virt.pem"],
}
filegroup {
name: "test2.com.android.virt.pem",
srcs: ["test2.com.android.virt.pem"],
}
// custom tool to replace bytes in a file
python_binary_host {
name: "replace_bytes",
srcs: [
"replace_bytes.py",
],
version: {
py2: {
enabled: false,
},
py3: {
enabled: true,
embedded_launcher: true,
},
},
}