Android 16kb Support in v3.11.1
I've added the following SDKs to my grade file and am still seeing the 16kb support warning in Android 15 devices when I load the app from Android Studio.
implementation 'com.mapbox.navigationcore:android-ndk27:3.11.1' implementation "com.mapbox.navigationcore:ui-components-ndk27:3.11.1"
I was under the impression that 16kb support would be available in v3.11.0 and later and that adding -ndk27 to each line item would fix the warning. This hasn't resolved the issue as I'm still seeing the warning after upgrading to v3.11.1. Is there anything else I need to do to resolve the warning?
Android Studio Narwhal Google Pixel 6 running Android 15
Please advise.
the warning is supposed to show the library names that are not 16kb-aligned. Check the library names. There could be non-mapbox ones
Thank you for the reply. There is at least one Mapbox Library that is 4kb-aligned. The one I can see is: libnavigator-android.so. Just to be sure, I uninstalled and reinstalled the two SDKs, listed above, but I'm still seeing that SDK.
The others are: libsqlcipher.so libtensorflowlite_jni.so libtensorflowlite_gpu_jni.so
But those don't look like you and may have something to do with the ad SDKs.
Any ideas?
Actually, I made uninstalled and resinstalled the only Mapbox SDKs in my project:
implementation 'com.mapbox.navigationcore:android-ndk27:3.11.1' implementation "com.mapbox.navigationcore:ui-components-ndk27:3.11.1"
Then I ran the analyzer again and here are the Mpabox specific SDKs that aren't 16kb-aligned:
lib navigator.android.so libmapbox-maps.so libmapbox-common.so
Is there anything I need to do, in addition to adding -ndk27, in order to make sure Mapbox is 16kb aligned? Thank you for your help with this. I appreciate it.
Just to be clear: I am not from Mapbox, I am yey another their user that is waiting for a reply from them.
lib navigator.android.so you mean libnavigator-android.so, right?
Hey everyone,
I wasn’t able to replicate this behavior. Could you please share a sample app that demonstrates the reported behavior?
Here’s a simple example application that demonstrates the integration of Mapbox Navigation, Maps, and Search, along with the usage of the NDK 27 build: https://github.com/mapbox/mapbox-search-android/pull/363
If you build the app with the ndk27 flag ./gradlew :app:assembleDebug -PndkMajor=27, you’ll see that the native libraries are aligned to 16 KB.
I've used both: implementation 'com.mapbox.navigationcore:android-ndk27:3.11.1' implementation "com.mapbox.navigationcore:ui-components-ndk27:3.11.1"
and: implementation 'com.mapbox.navigationcore:android-ndk27:3.12.0-rc.1' implementation "com.mapbox.navigationcore:ui-components-ndk27:3.12.0-rc.1"
and I'm still seeing this:
Not sure if you can see it...Github's ability to paste images is archaic.
How do I upload an APK file, I've even zipped it and it's telling me I can't upload it?
I can't seem to upload an APK file. It may be too big. Do I need to do something special? I've tried to append it with txt and to compress it, with no luck.
You don't need to upload an apk. You need to share the sample project where you can reproduce the issue. It does not have to be your commercial project that you having issue with. Just create a new empty app and add reproduce the problem - add mapbox dependencies same way you add it to your app, verify it is as well not 16 kb aligned and upload the code onto github and post the link to github repo here
Unfortunately, I have no idea how to do any of that. I'll just request an extension from Google and hopefully, it will be figured out by the time the extended date is up. If I'm having the issue, I'm sure other people are also having the issue, so I'm sure it will get figured out at some point.
@billyking991 could you please double-check that you are using Nav SDK version 3.11.0 or higher? Also, check your project to see if you have forced any specific version of the Navigation and/or Maps SDK.
You can review all dependencies using the Gradle dependencies task:
./gradlew <module>:dependencies
Carefully examine the output to confirm that the version is indeed 3.11.0 or higher.
Or share a sample project where you can replicate this behavior.
Help me to give 16KB support using below sdk version.
Project Gradle: classpath "com.mapbox.gradle.plugins:access-token:0.4.0"
App Gradle: implementation "com.mapbox.navigation:android:2.21.0" implementation "com.mapbox.navigation:ui-dropin:2.21.0"
Guys, you need to either upgrade your AGP at least to 8.5.1 or if you can't, just add the below code as it's mentioned by Google, this has been driving me crazy because the older AGP just messes it up, I thought we need to wait for the lib to fix and update but in fact the lib already supports 16k page sizes
android {
...
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
}
@billyking991
@chitho87 Thank you! I'm just getting to this now. Your answer is what helped me. Both things seem to work, but I was able to update the gradle and now it's conforming. I appreciate the help.
Hello everyone, I’m currently trying to enable 16 KB page size support in my Android project using the Mapbox Navigation SDK.
According to the official documentation, the following dependencies (with the ndk27 suffix) are supposed to support 16 KB page size:
implementation "com.mapbox.navigation:android-ndk27:2.21.0" implementation "com.mapbox.navigation:core-ndk27:2.21.0"
However, after syncing the Gradle project and analyzing the build, I’m still getting a warning that the libraries are not aligned with 16 KB page size.
Could you please confirm whether 16 KB page size support is fully available in version 2.21.0, or if there’s a specific configuration or version I should use instead? Also, could you please clarify if this issue is still open or has already been resolved in a newer release?
Thank you in advance for your help! 🙏
I am not 100% sure, but I don't think libngnative comes from mapbox dependency
Thanks for your quick response