Android Question 16KB Page - help is needed

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
hello

we all got the notice from google about their new requirement for apps that support 16kb pages
honestly - i don't even know where to start
checking the app page in google provided me with the libs that have issues with that requirement
as i use only libs i got from this great environment (see attached screenshot for details) i am feeling a bit lost

is that because i use sdk 35?
is the b4a ide fixed with sdk 36? or should i wait for an update?

i will appreciate any help & guidance

b4a_ProblematicLibs16KB.png

Zeev
 

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
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'
 
Upvote 0

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
I don´t think it is any of the internal libraries.
thanks for the quick reply
so how do i know what or where is the problem?

another idea i just got -
what will happen if i take out the app from play store and hold it on my private server?
will then i be able to keep on with my app without google hitting me?
and of course to keep update it from my server?

i will put the same app minimized in play store that will only download and install the full app (both with same signature so it should run as update
and then after first setup it will go on directly from my server
the play store will be only for new users

if that so this can be a way to escape from that headache

thanks
 
Upvote 0

Zeev Goldstein

Well-Known Member
Licensed User
Longtime User
I don´t think it is any of the internal libraries.
these are the libraries i use in my project
LibsUsed.png

and these are the libs that google pay complains about

b4a_ProblematicLibs16KB.png


the results of the checking tool are in a previous post
so what are these libs if not internal?

i think that may help resolve my problem

thanks
 
Upvote 0
Top