fix(map): pin the maplibre native ffi snapshot so 32-bit F-Droid gets a map engine

#6901 moved the F-Droid flavor from OSMdroid to maplibre-compose. Its 0.15.0
native stack, maplibre-native-ffi 0.202608.3, publishes arm64-v8a and x86_64
only, but our abiFilters and ABI splits still list armeabi-v7a. The 32-bit
split therefore installs with no map engine at all, and opening the map tab
dies with UnsatisfiedLinkError on libjniMaplibreNativeC.so (#7001).

Upstream merged Android ARM32 on 2026-08-24 across maplibre-native-ffi #658,
#659 and #660, but the newest release predates those merges. The rolling
0.1.0-SNAPSHOT publication does carry armeabi-v7a, so pin the whole
org.maplibre.nativeffi group to it until a release exists.

Not for merge in this form. A snapshot pin is not shippable; this is here to
prove the fix and to produce a 32-bit APK that affected users can test.
This commit is contained in:
James Rich committed 2026-09-01 16:36:57 -05:00
1 parent 73427979c4
commit 2dfc48b1fc
1 file changed
+16
+16
View File
@@ -343,3 +343,19 @@ dependencies {
// plugin merges the generated rules into src/<variant>/generated/baselineProfiles at build time.
baselineProfile(projects.baselineprofile)
}
// DO NOT MERGE AS-IS — pinned to an unreleased snapshot.
//
// #6901 moved F-Droid from OSMdroid to maplibre-compose, whose 0.15.0 native stack
// (maplibre-native-ffi 0.202608.3) publishes arm64-v8a and x86_64 only. Our abiFilters above
// still list armeabi-v7a, so the 32-bit split installs with no map engine and the map tab dies
// with UnsatisfiedLinkError on libjniMaplibreNativeC.so — meshtastic/Meshtastic-Android#7001.
//
// Upstream merged ARM32 on 2026-08-24 (maplibre-native-ffi#658, #659, #660) but has not cut a
// release carrying it. The 0.1.0-SNAPSHOT publication does carry it, which is what this pin is
// for. Replace with a maplibre-compose version whose ffi pin is >= the first release containing
// those PRs, then delete this block.
configurations.configureEach {
resolutionStrategy.eachDependency { if (requested.group == "org.maplibre.nativeffi") useVersion("0.1.0-SNAPSHOT") }
resolutionStrategy.cacheChangingModulesFor(0, "seconds")
}