From 0dfd1c57440925d21a56dd77c52e6598d7c2e852 Mon Sep 17 00:00:00 2001 From: jacquarg Date: Sat, 1 Mar 2025 08:59:26 +0100 Subject: [PATCH] 3046: remove symlinks to priv-app/A-P/lib, update apk. --- .../Advanced_Privacy-2.7.0-eos-release.apk | 3 - ...vanced_Privacy-2.7.0-eos-releaseNoLibs.apk | 3 + AdvancedPrivacy/Android.bp | 163 +++--------------- .../arm64-v8a/libdatastore_shared_counter.so | Bin 0 -> 7112 bytes .../libdatastore_shared_counter.so | Bin 0 -> 4416 bytes .../lib/x86/libdatastore_shared_counter.so | Bin 0 -> 5148 bytes .../lib/x86_64/libdatastore_shared_counter.so | Bin 0 -> 6224 bytes 7 files changed, 27 insertions(+), 142 deletions(-) delete mode 100644 AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-release.apk create mode 100644 AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-releaseNoLibs.apk create mode 100644 AdvancedPrivacy/lib/arm64-v8a/libdatastore_shared_counter.so create mode 100644 AdvancedPrivacy/lib/armeabi-v7a/libdatastore_shared_counter.so create mode 100644 AdvancedPrivacy/lib/x86/libdatastore_shared_counter.so create mode 100644 AdvancedPrivacy/lib/x86_64/libdatastore_shared_counter.so diff --git a/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-release.apk b/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-release.apk deleted file mode 100644 index acb6ac1..0000000 --- a/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-release.apk +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c39e3bfa553387dd1903db427af85043a620da7639cb33fa3d5df24385f2d50c -size 178514653 diff --git a/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-releaseNoLibs.apk b/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-releaseNoLibs.apk new file mode 100644 index 0000000..b5b4f64 --- /dev/null +++ b/AdvancedPrivacy/Advanced_Privacy-2.7.0-eos-releaseNoLibs.apk @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4ed3ea7b064cf8506b5ee8204c8d78c4f36eac37e9152a58ef6e0503f8b6cc9 +size 24051425 diff --git a/AdvancedPrivacy/Android.bp b/AdvancedPrivacy/Android.bp index cecaba6..cc664ce 100644 --- a/AdvancedPrivacy/Android.bp +++ b/AdvancedPrivacy/Android.bp @@ -11,13 +11,14 @@ android_app_import { "libtor", "libsentry", "libsentry-android", + "libdatastore_shared_counter", ], optional_uses_libs: [ "androidx.window.extensions", "androidx.window.sidecar", ], - apk: "Advanced_Privacy-2.7.0-eos-release.apk", + apk: "Advanced_Privacy-2.7.0-eos-releaseNoLibs.apk", } prebuilt_etc { @@ -35,50 +36,21 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: ["lib/armeabi-v7a/libgojni.so"], - required: ["libgojni_jni_symlink_arm"], }, android_arm64: { srcs: ["lib/arm64-v8a/libgojni.so"], - required: ["libgojni_jni_symlink_arm64"], }, android_x86: { srcs: ["lib/x86/libgojni.so"], - required: ["libgojni_jni_symlink_x86"], }, android_x86_64: { srcs: ["lib/x86_64/libgojni.so"], - required: ["libgojni_jni_symlink_x86_64"], }, }, compile_multilib: "first", check_elf_files: false, } - -install_symlink { - name: "libgojni_jni_symlink_arm", - installed_location: "priv-app/AdvancedPrivacy/lib/arm/libgojni.so", - symlink_target: "/system/lib/libgojni.so", -} - -install_symlink { - name: "libgojni_jni_symlink_arm64", - installed_location: "priv-app/AdvancedPrivacy/lib/arm64/libgojni.so", - symlink_target: "/system/lib64/libgojni.so", -} - -install_symlink { - name: "libgojni_jni_symlink_x86", - installed_location: "priv-app/AdvancedPrivacy/lib/x86/libgojni.so", - symlink_target: "/system/lib/libgojni.so", -} - -install_symlink { - name: "libgojni_jni_symlink_x86_64", - installed_location: "priv-app/AdvancedPrivacy/lib/x86_64/libgojni.so", - symlink_target: "/system/lib64/libgojni.so", -} - cc_prebuilt_library_shared { name: "libmapbox-gl", owner: "e", @@ -88,49 +60,21 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: ["lib/armeabi-v7a/libmapbox-gl.so"], - required: ["libmapbox-gl_jni_symlink_arm"], }, android_arm64: { srcs: ["lib/arm64-v8a/libmapbox-gl.so"], - required: ["libmapbox-gl_jni_symlink_arm64"], }, android_x86: { srcs: ["lib/x86/libmapbox-gl.so"], - required: ["libmapbox-gl_jni_symlink_x86"], }, android_x86_64: { srcs: ["lib/x86_64/libmapbox-gl.so"], - required: ["libmapbox-gl_jni_symlink_x86_64"], }, }, compile_multilib: "first", check_elf_files: false, } -install_symlink { - name: "libmapbox-gl_jni_symlink_arm", - installed_location: "priv-app/AdvancedPrivacy/lib/arm/libmapbox-gl.so", - symlink_target: "/system/lib/libmapbox-gl.so", -} - -install_symlink { - name: "libmapbox-gl_jni_symlink_arm64", - installed_location: "priv-app/AdvancedPrivacy/lib/arm64/libmapbox-gl.so", - symlink_target: "/system/lib64/libmapbox-gl.so", -} - -install_symlink { - name: "libmapbox-gl_jni_symlink_x86", - installed_location: "priv-app/AdvancedPrivacy/lib/x86/libmapbox-gl.so", - symlink_target: "/system/lib/libmapbox-gl.so", -} - -install_symlink { - name: "libmapbox-gl_jni_symlink_x86_64", - installed_location: "priv-app/AdvancedPrivacy/lib/x86_64/libmapbox-gl.so", - symlink_target: "/system/lib64/libmapbox-gl.so", -} - cc_prebuilt_library_shared { name: "libtor", owner: "e", @@ -140,49 +84,21 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: ["lib/armeabi-v7a/libtor.so"], - required: ["libtor_jni_symlink_arm"], }, android_arm64: { srcs: ["lib/arm64-v8a/libtor.so"], - required: ["libtor_jni_symlink_arm64"], }, android_x86: { srcs: ["lib/x86/libtor.so"], - required: ["libtor_jni_symlink_x86"], }, android_x86_64: { srcs: ["lib/x86_64/libtor.so"], - required: ["libtor_jni_symlink_x86_64"], }, }, compile_multilib: "first", check_elf_files: false, } -install_symlink { - name: "libtor_jni_symlink_arm", - installed_location: "priv-app/AdvancedPrivacy/lib/arm/libtor.so", - symlink_target: "/system/lib/libtor.so", -} - -install_symlink { - name: "libtor_jni_symlink_arm64", - installed_location: "priv-app/AdvancedPrivacy/lib/arm64/libtor.so", - symlink_target: "/system/lib64/libtor.so", -} - -install_symlink { - name: "libtor_jni_symlink_x86", - installed_location: "priv-app/AdvancedPrivacy/lib/x86/libtor.so", - symlink_target: "/system/lib/libtor.so", -} - -install_symlink { - name: "libtor_jni_symlink_x86_64", - installed_location: "priv-app/AdvancedPrivacy/lib/x86_64/libtor.so", - symlink_target: "/system/lib64/libtor.so", -} - cc_prebuilt_library_shared { name: "libsentry", owner: "e", @@ -192,49 +108,21 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: ["lib/armeabi-v7a/libsentry.so"], - required: ["libsentry_jni_symlink_arm"], }, android_arm64: { srcs: ["lib/arm64-v8a/libsentry.so"], - required: ["libsentry_jni_symlink_arm64"], }, android_x86: { srcs: ["lib/x86/libsentry.so"], - required: ["libsentry_jni_symlink_x86"], }, android_x86_64: { srcs: ["lib/x86_64/libsentry.so"], - required: ["libsentry_jni_symlink_x86_64"], }, }, compile_multilib: "first", check_elf_files: false, } -install_symlink { - name: "libsentry_jni_symlink_arm", - installed_location: "priv-app/AdvancedPrivacy/lib/arm/libsentry.so", - symlink_target: "/system/lib/libsentry.so", -} - -install_symlink { - name: "libsentry_jni_symlink_arm64", - installed_location: "priv-app/AdvancedPrivacy/lib/arm64/libsentry.so", - symlink_target: "/system/lib64/libsentry.so", -} - -install_symlink { - name: "libsentry_jni_symlink_x86", - installed_location: "priv-app/AdvancedPrivacy/lib/x86/libsentry.so", - symlink_target: "/system/lib/libsentry.so", -} - -install_symlink { - name: "libsentry_jni_symlink_x86_64", - installed_location: "priv-app/AdvancedPrivacy/lib/x86_64/libsentry.so", - symlink_target: "/system/lib64/libsentry.so", -} - cc_prebuilt_library_shared { name: "libsentry-android", owner: "e", @@ -244,45 +132,42 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: ["lib/armeabi-v7a/libsentry-android.so"], - required: ["libsentry-android_jni_symlink_arm"], }, android_arm64: { srcs: ["lib/arm64-v8a/libsentry-android.so"], - required: ["libsentry-android_jni_symlink_arm64"], }, android_x86: { srcs: ["lib/x86/libsentry-android.so"], - required: ["libsentry-android_jni_symlink_x86"], }, android_x86_64: { srcs: ["lib/x86_64/libsentry-android.so"], - required: ["libsentry-android_jni_symlink_x86_64"], }, }, compile_multilib: "first", check_elf_files: false, } -install_symlink { - name: "libsentry-android_jni_symlink_arm", - installed_location: "priv-app/AdvancedPrivacy/lib/arm/libsentry-android.so", - symlink_target: "/system/lib/libsentry-android.so", -} - -install_symlink { - name: "libsentry-android_jni_symlink_arm64", - installed_location: "priv-app/AdvancedPrivacy/lib/arm64/libsentry-android.so", - symlink_target: "/system/lib64/libsentry-android.so", -} - -install_symlink { - name: "libsentry-android_jni_symlink_x86", - installed_location: "priv-app/AdvancedPrivacy/lib/x86/libsentry-android.so", - symlink_target: "/system/lib/libsentry-android.so", +cc_prebuilt_library_shared { + name: "libdatastore_shared_counter", + owner: "e", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: ["lib/armeabi-v7a/libdatastore_shared_counter.so"], + }, + android_arm64: { + srcs: ["lib/arm64-v8a/libdatastore_shared_counter.so"], + }, + android_x86: { + srcs: ["lib/x86/libdatastore_shared_counter.so"], + }, + android_x86_64: { + srcs: ["lib/x86_64/libdatastore_shared_counter.so"], + }, + }, + compile_multilib: "first", + check_elf_files: false, } -install_symlink { - name: "libsentry-android_jni_symlink_x86_64", - installed_location: "priv-app/AdvancedPrivacy/lib/x86_64/libsentry-android.so", - symlink_target: "/system/lib64/libsentry-android.so", -} diff --git a/AdvancedPrivacy/lib/arm64-v8a/libdatastore_shared_counter.so b/AdvancedPrivacy/lib/arm64-v8a/libdatastore_shared_counter.so new file mode 100644 index 0000000000000000000000000000000000000000..64056389fa2c9c69ded3353596a444afb29d6148 GIT binary patch literal 7112 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 AlmGw# literal 0 HcmV?d00001 diff --git a/AdvancedPrivacy/lib/x86_64/libdatastore_shared_counter.so b/AdvancedPrivacy/lib/x86_64/libdatastore_shared_counter.so new file mode 100644 index 0000000000000000000000000000000000000000..7490ad30c8faa0ade75873216f8479963533f36c GIT binary patch literal 6224 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 HFYtc>YFW?e literal 0 HcmV?d00001 -- GitLab