commit | c0b096160f90e11a59294ec62619dfc4cdbb4efe | [log] [tgz] |
---|---|---|
author | Nikita Ioffe <ioffe@google.com> | Fri Jan 27 01:49:39 2023 +0000 |
committer | Nikita Ioffe <ioffe@google.com> | Fri Jan 27 01:56:46 2023 +0000 |
tree | 0a4a482a5f9f03df01aee89442e62bfaf458a031 | |
parent | 1974408b9da53bd20ffae0d59bff2a95a41831c5 [diff] |
Set future_updatable: false for virt and compos APEXes We don't want to enable future_updatable, as it will prevent our APEXes from using the optimization that symlinks the shared libraries in the non-updatable APEXes to the corresponding libraries on /system. In our case this optimization is quite useful, as all of the shared libraries used by the compos APEX are also used by the virt APEX. This optimization reduces total size of virt and compos APEXes by 6 MBs. Before this optimization: ``` $ adb shell ls -alh /apex/com.android.virt/lib64 total 3.7M drwxr-xr-x 2 root shell 4.0K 1970-01-01 01:00 . drwxr-xr-x 8 system system 4.0K 1970-01-01 01:00 .. -rw-r--r-- 1 system system 10K 1970-01-01 01:00 android.system.virtualizationcommon-ndk.so -rw-r--r-- 1 system system 92K 1970-01-01 01:00 android.system.virtualizationservice-ndk.so -rw-r--r-- 1 system system 269K 1970-01-01 01:00 libbase.so -rw-r--r-- 1 system system 728K 1970-01-01 01:00 libc++.so -rw-r--r-- 1 system system 36K 1970-01-01 01:00 libcap.so -rw-r--r-- 1 system system 1.3M 1970-01-01 01:00 libcrypto.so -rw-r--r-- 1 system system 93K 1970-01-01 01:00 libcutils.so -rw-r--r-- 1 system system 97K 1970-01-01 01:00 libdrm.so -rw-r--r-- 1 system system 171K 1970-01-01 01:00 libminijail.so -rw-r--r-- 1 system system 355K 1970-01-01 01:00 libprocessgroup.so -rw-r--r-- 1 system system 396K 1970-01-01 01:00 libssl.so -rw-r--r-- 1 system system 31K 1970-01-01 01:00 libtombstoned_client.so -rw-r--r-- 1 system system 122K 1970-01-01 01:00 libutils.so -rw-r--r-- 1 system system 11K 1970-01-01 01:00 libvirtualizationservice_jni.so -rw-r--r-- 1 system system 11K 1970-01-01 01:00 libvirtualmachine_jni.so $ adb shell ls -alh /apex/com.android.compos/lib64 total 2.7M drwxr-xr-x 2 root shell 4.0K 1970-01-01 01:00 . drwxr-xr-x 8 system system 4.0K 1970-01-01 01:00 .. -rw-r--r-- 1 system system 269K 1970-01-01 01:00 libbase.so -rw-r--r-- 1 system system 728K 1970-01-01 01:00 libc++.so -rw-r--r-- 1 system system 36K 1970-01-01 01:00 libcap.so -rw-r--r-- 1 system system 1.3M 1970-01-01 01:00 libcrypto.so -rw-r--r-- 1 system system 93K 1970-01-01 01:00 libcutils.so -rw-r--r-- 1 system system 171K 1970-01-01 01:00 libminijail.so -rw-r--r-- 1 system system 122K 1970-01-01 01:00 libutils.so ``` With this optimization: ``` $ adb shell ls -alh /apex/com.android.compos/lib64 total 8.0K drwxr-xr-x 2 root shell 4.0K 1970-01-01 01:00 . drwxr-xr-x 8 system system 4.0K 1970-01-01 01:00 .. lrw-r--r-- 1 system system 24 1970-01-01 01:00 libbase.so -> /system/lib64/libbase.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libc++.so -> /system/lib64/libc++.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libcap.so -> /system/lib64/libcap.so lrw-r--r-- 1 system system 26 1970-01-01 01:00 libcrypto.so -> /system/lib64/libcrypto.so lrw-r--r-- 1 system system 26 1970-01-01 01:00 libcutils.so -> /system/lib64/libcutils.so lrw-r--r-- 1 system system 28 1970-01-01 01:00 libminijail.so -> /system/lib64/libminijail.so lrw-r--r-- 1 system system 25 1970-01-01 01:00 libutils.so -> /system/lib64/libutils.so $ adb shell ls -alh /apex/com.android.virt/lib64 total 136K drwxr-xr-x 2 root shell 4.0K 1970-01-01 01:00 . drwxr-xr-x 8 system system 4.0K 1970-01-01 01:00 .. -rw-r--r-- 1 system system 10K 1970-01-01 01:00 android.system.virtualizationcommon-ndk.so -rw-r--r-- 1 system system 92K 1970-01-01 01:00 android.system.virtualizationservice-ndk.so lrw-r--r-- 1 system system 24 1970-01-01 01:00 libbase.so -> /system/lib64/libbase.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libc++.so -> /system/lib64/libc++.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libcap.so -> /system/lib64/libcap.so lrw-r--r-- 1 system system 26 1970-01-01 01:00 libcrypto.so -> /system/lib64/libcrypto.so lrw-r--r-- 1 system system 26 1970-01-01 01:00 libcutils.so -> /system/lib64/libcutils.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libdrm.so -> /system/lib64/libdrm.so lrw-r--r-- 1 system system 28 1970-01-01 01:00 libminijail.so -> /system/lib64/libminijail.so lrw-r--r-- 1 system system 32 1970-01-01 01:00 libprocessgroup.so -> /system/lib64/libprocessgroup.so lrw-r--r-- 1 system system 23 1970-01-01 01:00 libssl.so -> /system/lib64/libssl.so lrw-r--r-- 1 system system 37 1970-01-01 01:00 libtombstoned_client.so -> /system/lib64/libtombstoned_client.so lrw-r--r-- 1 system system 25 1970-01-01 01:00 libutils.so -> /system/lib64/libutils.so -rw-r--r-- 1 system system 11K 1970-01-01 01:00 libvirtualizationservice_jni.so -rw-r--r-- 1 system system 11K 1970-01-01 01:00 libvirtualmachine_jni.so ``` Bug: 265957081 Test: avf-presubmit Change-Id: Ib608fcf216d79d2482fcc72dcc7b70ef6e712e7a
This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.