Don't install unnecessary VNDK libs

vndk_package is a phony module that includes ALL VNDK libs found in the
source code. As a result, VNDK libs that were actually not needed for
the device have been installed consuming storage. For example,
/system/lib/vndk/android.hardware.automotive*.so files were installed
even though walleye/taimen do not have automotive HALs.

VNDK libs are now installed by their link time dependencies (i.e. if a
vendor module uses libcutils, then /system/lib[64]/vndk-sp/libcutils.so
is automatically installed.).

By the way, there is a few number of VNDK libs that do not have any
link time dependency from vendor modules. They are always opened via
dlopen. In such cases, the vndk modules are added to `required`
or `LOCAL_REQUIRED_MODULES` of the module that dlopens them. Or, they
are directly added to PRODUCT_PACKAGES of the base products so that they
are always installed.

Bug: 67002788
Test: walleye builds and boots to the UI
Test: basic functionalities work (sound, camera, camcorder, slow-mo,
youtube, wifi, bluetooth)

Change-Id: I0eb36701858cd456ccb69dd0cf0a1880773675c7
This commit is contained in:
Jiyong Park 2017-12-22 00:32:50 +09:00
parent 7f0e221942
commit 4cdafdeb6b

View file

@ -23,6 +23,7 @@ PRODUCT_PACKAGES += \
android.hardware.configstore@1.0-service \
android.hidl.allocator@1.0-service \
android.hidl.memory@1.0-impl \
android.hidl.memory@1.0-impl.vendor \
atrace \
bootanimation \
bootstat \