hi
ran the tool provided to check 16kb compatibility (
https://www.b4x.com/android/forum/threads/android-16kb-page-size-compatibility-checker.168942/) that was just posted
got the following results
looks (to me) it is all in internal libs - am i wrong?
who should i go on?
i can't understand what am i supposed to do now?
Extracting archive...
Found 5 .so file(s) in arm64-v8a folder
Checking: libcardioDecider.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0x11D18) not aligned to p_align (65536)
- p_offset (0x1D18) not aligned to p_align (65536)
Checking: libcardioRecognizer.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0xBFAE0) not aligned to p_align (65536)
- p_offset (0xAFAE0) not aligned to p_align (65536)
Checking: libcardioRecognizer_tegra2.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0xB3BE0) not aligned to p_align (65536)
- p_offset (0xA3BE0) not aligned to p_align (65536)
Checking: libopencv_core.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0x2EC9F0) not aligned to p_align (65536)
- p_offset (0x2DC9F0) not aligned to p_align (65536)
Checking: libopencv_imgproc.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0x24FAC0) not aligned to p_align (65536)
- p_offset (0x23FAC0) not aligned to p_align (65536)
= * 80
FINAL RESULT
= * 80
FAILED: 5 non-compliant file(s):
- libcardioDecider.so
- libcardioRecognizer.so
- libcardioRecognizer_tegra2.so
- libopencv_core.so
- libopencv_imgproc.so
Required fixes:
1. Update to NDK 27+ which has proper 16KB alignment support
2. Add -Wl,-z,max-page-size=16384 to your linker flags
3. Recompile all native libraries
4. Contact third-party library vendors for 16KB-compatible versions
For gradle builds, add to build.gradle:
android.defaultConfig.ndk.abiFilters 'arm64-v8a'
android.defaultConfig.externalNativeBuild.cmake.arguments '-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON'