Hi all.
I just tried to check the SqlCipher version 4.10.0 https://www.b4x.com/android/forum/threads/sqlcipher-version-4-10-0.168668/ for 16kb compatibility with the new script https://www.b4x.com/android/forum/threads/android-16kb-page-size-compatibility-checker.168942/
Here is a result
This script https://www.b4x.com/android/forum/threads/script-to-check-compatibility-16kb.168429/ shows that everything is Ok
I just tried to check the SqlCipher version 4.10.0 https://www.b4x.com/android/forum/threads/sqlcipher-version-4-10-0.168668/ for 16kb compatibility with the new script https://www.b4x.com/android/forum/threads/android-16kb-page-size-compatibility-checker.168942/
Here is a result
B4X:
Found llvm-readobj: D:\16kb\android-ndk-r27d\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-readobj.exe
Analyzing: D:\16kb\SQlCipher.apk
Extracting archive...
Found 1 .so file(s) in arm64-v8a folder
Checking: libsqlcipher.so
WARNING: No .note.gnu.property section found (may indicate old NDK)
FAIL - See details below:
- p_vaddr (0x4F4BC0) not aligned to p_align (16384)
- p_offset (0x4ECBC0) not aligned to p_align (16384)
= * 80
FINAL RESULT
= * 80
FAILED: 1 non-compliant file(s):
- libsqlcipher.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'
PS D:\16kb>
This script https://www.b4x.com/android/forum/threads/script-to-check-compatibility-16kb.168429/ shows that everything is Ok