diff --git a/Android.bp b/Android.bp index 4b76612..8373dd7 100644 --- a/Android.bp +++ b/Android.bp @@ -3,6 +3,89 @@ // This file is generated by vendor/xiaomi/camera/setup-makefiles.sh soong_namespace { + imports: [ + ], +} + +cc_prebuilt_library_shared { + name: "libcamera_algoup_jni.xiaomi", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: ["proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so"], + shared_libs: ["libandroid", "libandroid_runtime", "libbase", "libbinder", "libcamera_client", "libcamera_metadata", "libcutils", "libgui-xiaomi", "liblog", "libmedia_jni_utils", "libnativehelper", "libnativewindow", "libui", "libutils", "libvndksupport", "android.hidl.token@1.0-utils", "libc++", "libc", "libm", "libdl", ], + }, + }, + compile_multilib: "64", + prefer: true, +} + +cc_prebuilt_library_shared { + name: "libcamera_mianode_jni.xiaomi", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: ["proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so"], + shared_libs: ["libandroid", "libbinder", "libcamera_client", "libcamera_metadata", "libcutils", "libgui-xiaomi", "liblog", "libmedia_jni_utils", "libui", "libutils", "libvndksupport", "libxml2", "libc++", "libc", "libm", "libdl", ], + }, + }, + compile_multilib: "64", + prefer: true, +} + +cc_prebuilt_library_shared { + name: "libgui-xiaomi", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: ["proprietary/system/lib64/libgui-xiaomi.so"], + shared_libs: ["android.hardware.graphics.common-V5-ndk", "android.hardware.graphics.bufferqueue@1.0", "android.hardware.graphics.bufferqueue@2.0", "android.hardware.graphics.common@1.1", "android.hardware.graphics.common@1.2", "android.hidl.token@1.0-utils", "libbase", "libcutils", "libEGL", "libGLESv2", "libhidlbase", "liblog", "libnativewindow", "libsync", "libui", "libutils", "libvndksupport", "libbinder", "libc++", "libc", "libm", "libdl", ], + }, + }, + compile_multilib: "64", + prefer: true, +} + +cc_prebuilt_library_shared { + name: "libmicampostproc_client", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: ["proprietary/system/lib64/libmicampostproc_client.so"], + shared_libs: ["liblog", "libutils", "libcutils", "libhardware", "libnativewindow", "libEGL", "libGLESv2", "libfmq", "libgui", "libui", "libcamera_client", "libcamera_metadata", "libmedia_jni_utils", "libnativehelper", "libhidlbase", "libhidltransport", "vendor.xiaomi.hardware.campostproc@1.0_system", "libc++", "libc", "libm", "libdl", ], + }, + }, + compile_multilib: "64", + prefer: true, +} + +cc_prebuilt_library_shared { + name: "vendor.xiaomi.hardware.campostproc@1.0_system", + stem: "vendor.xiaomi.hardware.campostproc@1.0", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: ["proprietary/system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so"], + shared_libs: ["android.hardware.camera.common@1.0", "libhidlbase", "liblog", "libutils", "libcutils", "libc++", "libc", "libm", "libdl", ], + }, + }, + compile_multilib: "64", + prefer: true, } android_app_import { diff --git a/Android.mk b/Android.mk index 9d5b89e..59d655d 100644 --- a/Android.mk +++ b/Android.mk @@ -3,7 +3,6 @@ # This file is generated by vendor/xiaomi/camera/setup-makefiles.sh LOCAL_PATH := $(call my-dir) - ifneq ($(filter fuxi nuwa ishtar vermeer,$(TARGET_DEVICE)),) CAMERA_LIBRARIES := libcamera_algoup_jni.xiaomi.so libcamera_mianode_jni.xiaomi.so diff --git a/camera-vendor.mk b/camera-vendor.mk index 4e859e1..61a7a1c 100644 --- a/camera-vendor.mk +++ b/camera-vendor.mk @@ -5,12 +5,11 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/xiaomi/camera -PRODUCT_COPY_FILES += \ - vendor/xiaomi/camera/proprietary/system/lib64/libgui-xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libgui-xiaomi.so \ - vendor/xiaomi/camera/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libcamera_algoup_jni.xiaomi.so \ - vendor/xiaomi/camera/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libcamera_mianode_jni.xiaomi.so \ - vendor/xiaomi/camera/proprietary/system/lib64/libmicampostproc_client.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libmicampostproc_client.so \ - vendor/xiaomi/camera/proprietary/system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/vendor.xiaomi.hardware.campostproc@1.0.so PRODUCT_PACKAGES += \ + libcamera_algoup_jni.xiaomi \ + libcamera_mianode_jni.xiaomi \ + libgui-xiaomi \ + libmicampostproc_client \ + vendor.xiaomi.hardware.campostproc@1.0_system \ MiuiCamera diff --git a/extract-files.sh b/extract-files.sh index cc7af13..76f18f2 100755 --- a/extract-files.sh +++ b/extract-files.sh @@ -56,7 +56,7 @@ function blob_fixup() { case "${1}" in system/lib64/libgui-xiaomi.so) [ "$2" = "" ] && return 0 - patchelf --set-soname libgui-xiaomi.so "${2}" + sed -i "s/android.hardware.graphics.common-V4-ndk.so/android.hardware.graphics.common-V5-ndk.so/" "${2}" ;; system/lib64/libcamera_algoup_jni.xiaomi.so|system/lib64/libcamera_mianode_jni.xiaomi.so) [ "$2" = "" ] && return 0 diff --git a/proprietary-files.txt b/proprietary-files.txt index 3c1f299..0610c5e 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,7 +1,7 @@ -# Unpinned blobs from ishtar_global-user 13 TKQ1.221114.001 V816.0.6.0.UMAMIXM release-keys +# Unpinned blobs from vermeer_global-user 13 TKQ1.221114.001 V816.0.2.0.UNKMIXM release-keys product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk;OVERRIDES=Aperture,Camera,Camera2,GoogleCameraGo -system/lib64/libgui.so:system/lib64/libgui-xiaomi.so +system/lib64/libgui.so:system/lib64/libgui-xiaomi.so;FIX_SONAME system_ext/lib64/libcamera_algoup_jni.xiaomi.so:system/lib64/libcamera_algoup_jni.xiaomi.so system_ext/lib64/libcamera_mianode_jni.xiaomi.so:system/lib64/libcamera_mianode_jni.xiaomi.so system_ext/lib64/libmicampostproc_client.so:system/lib64/libmicampostproc_client.so -system_ext/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so +system_ext/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so;MODULE_SUFFIX=_system diff --git a/proprietary/system/lib64/libgui-xiaomi.so b/proprietary/system/lib64/libgui-xiaomi.so index b5b0076..ae75edb 100644 Binary files a/proprietary/system/lib64/libgui-xiaomi.so and b/proprietary/system/lib64/libgui-xiaomi.so differ diff --git a/setup-makefiles.sh b/setup-makefiles.sh index fe77686..98a5e3c 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -24,6 +24,27 @@ if [ ! -f "${HELPER}" ]; then fi source "${HELPER}" +function lib_to_package_fixup_vendor_variants() { + if [ "$2" != "system" ]; then + return 1 + fi + + case "$1" in + vendor.xiaomi.hardware.campostproc@1.0) + echo "$1_system" + ;; + *) + return 1 + ;; + esac +} + +function lib_to_package_fixup() { + lib_to_package_fixup_clang_rt_ubsan_standalone "$1" || + lib_to_package_fixup_proto_3_9_1 "$1" || + lib_to_package_fixup_vendor_variants "$@" +} + # Initialize the helper setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" true