I've run this script against all devices (excluding <= Pixel 2) on Android 11, using the naked configuration with the latest git tag from AOSP:
# crosshatch (Pixel 3 XL)
vendor/lib/libprotobuf-cpp-full.so is needed by vendor/lib64/libcamxncs.so
# blueline (Pixel 3)
vendor/lib/libprotobuf-cpp-full.so is needed by vendor/lib64/libcamxncs.so
# bonito (Pixel 3a XL)
vendor/lib64/libprotobuf-cpp-full.so is needed by vendor/lib64/camera/components/com.qti.camx.chiiqutils.so
# sargo (Pixel 3a)
vendor/lib64/libprotobuf-cpp-full.so is needed by vendor/lib64/camera/components/com.qti.camx.chiiqutils.so
# coral (Pixel 4 XL)
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvideocodec.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtextutils.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtutils.so
system_ext/lib/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib/libsecureui_svcsock_system.so
system_ext/lib/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvideocodec.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtextutils.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtutils.so
system_ext/lib64/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib64/libsecureui_svcsock_system.so
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib64/lib-imsvt.so
vendor/lib/android.hardware.sensors@2.0-ScopedWakelock.so is needed by vendor/lib/sensors.ssc.so
vendor/lib/libgooglecamerahal.so is needed by vendor/lib/camera/capture_sessions/lib_multicam_dualfov_capture_session.so
vendor/lib/libgooglecamerahalutils.so is needed by vendor/lib/camera/capture_sessions/lib_multicam_dualfov_capture_session.so
vendor/lib/libprotobuf-cpp-full.so is needed by vendor/lib/libcamera_nn_stub.so
# flame (Pixel 4)
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvideocodec.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtextutils.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtutils.so
system_ext/lib/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib/libsecureui_svcsock_system.so
system_ext/lib/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvideocodec.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtextutils.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtutils.so
system_ext/lib64/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib64/libsecureui_svcsock_system.so
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib64/lib-imsvt.so
vendor/lib/android.hardware.sensors@2.0-ScopedWakelock.so is needed by vendor/lib/sensors.ssc.so
vendor/lib/libgooglecamerahal.so is needed by vendor/lib/camera/capture_sessions/lib_multicam_dualfov_capture_session.so
vendor/lib/libgooglecamerahalutils.so is needed by vendor/lib/camera/capture_sessions/lib_multicam_dualfov_capture_session.so
vendor/lib/libprotobuf-cpp-full.so is needed by vendor/lib/libcamera_nn_stub.so
# sunfish (Pixel 4a)
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvideocodec.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtextutils.so
system_ext/lib/libdiag_system.so is needed by system_ext/lib/lib-imsvtutils.so
system_ext/lib/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib/libsecureui_svcsock_system.so
system_ext/lib/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvideocodec.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvt.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtextutils.so
system_ext/lib64/libdiag_system.so is needed by system_ext/lib64/lib-imsvtutils.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.3.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.4.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.5.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.6.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.7.so
system_ext/lib64/vendor.display.config@1.2.so is needed by system_ext/lib64/vendor.display.config@1.8.so
system_ext/lib64/vendor.qti.hardware.tui_comm@1.0.so is needed by system_ext/lib64/libsecureui_svcsock_system.so
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so is needed by system_ext/lib64/lib-imsvt.so
Some shared libraries are missing dependencies that are specified as
DT_NEEDED
entries from the dynamic section of the.so
ELF files. (Following up on https://github.com/AOSPAlliance/android-prepare-vendor/pull/47#issuecomment-753533084)I've used the following bash script to detect when this is the case: https://gist.github.com/danielfullmer/a582fa467a681f69a27ae88b6168f95d It should detect when a shared library depends on another shared library, which is in the stock image, but missing from the image we build.
I've run this script against all devices (excluding <= Pixel 2) on Android 11, using the naked configuration with the latest git tag from AOSP: