Loading core/jni/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ soong_config_module_type { config_namespace: "ANDROID", bool_variables: [ "release_binder_death_recipient_weak_from_jni", "release_package_libandroid_runtime_punch_holes", ], properties: [ "cflags", Loading Loading @@ -63,6 +64,9 @@ cc_library_shared_for_libandroid_runtime { release_binder_death_recipient_weak_from_jni: { cflags: ["-DBINDER_DEATH_RECIPIENT_WEAK_FROM_JNI"], }, release_package_libandroid_runtime_punch_holes: { cflags: ["-DENABLE_PUNCH_HOLES"], }, }, cpp_std: "gnu++20", Loading core/jni/com_android_internal_content_NativeLibraryHelper.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include <memory> #include "com_android_internal_content_FileSystemUtils.h" #include "core_jni_helpers.h" #define RS_BITCODE_SUFFIX ".bc" Loading Loading @@ -169,6 +170,15 @@ copyFileIfChanged(JNIEnv *env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntr return INSTALL_FAILED_INVALID_APK; } #ifdef ENABLE_PUNCH_HOLES // if library is uncompressed, punch hole in it in place if (!punchHolesInElf64(zipFile->getZipFileName(), offset)) { ALOGW("Failed to punch uncompressed elf file :%s inside apk : %s at offset: " "%" PRIu64 "", fileName, zipFile->getZipFileName(), offset); } #endif // ENABLE_PUNCH_HOLES return INSTALL_SUCCEEDED; } Loading Loading
core/jni/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ soong_config_module_type { config_namespace: "ANDROID", bool_variables: [ "release_binder_death_recipient_weak_from_jni", "release_package_libandroid_runtime_punch_holes", ], properties: [ "cflags", Loading Loading @@ -63,6 +64,9 @@ cc_library_shared_for_libandroid_runtime { release_binder_death_recipient_weak_from_jni: { cflags: ["-DBINDER_DEATH_RECIPIENT_WEAK_FROM_JNI"], }, release_package_libandroid_runtime_punch_holes: { cflags: ["-DENABLE_PUNCH_HOLES"], }, }, cpp_std: "gnu++20", Loading
core/jni/com_android_internal_content_NativeLibraryHelper.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include <memory> #include "com_android_internal_content_FileSystemUtils.h" #include "core_jni_helpers.h" #define RS_BITCODE_SUFFIX ".bc" Loading Loading @@ -169,6 +170,15 @@ copyFileIfChanged(JNIEnv *env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntr return INSTALL_FAILED_INVALID_APK; } #ifdef ENABLE_PUNCH_HOLES // if library is uncompressed, punch hole in it in place if (!punchHolesInElf64(zipFile->getZipFileName(), offset)) { ALOGW("Failed to punch uncompressed elf file :%s inside apk : %s at offset: " "%" PRIu64 "", fileName, zipFile->getZipFileName(), offset); } #endif // ENABLE_PUNCH_HOLES return INSTALL_SUCCEEDED; } Loading