Skip to content

fix(android): bump bitbox_flutter to v0.0.9 (16 KB page alignment)#723

Merged
TaprootFreak merged 1 commit into
stagingfrom
fix/bitbox-16kb-alignment
Jun 9, 2026
Merged

fix(android): bump bitbox_flutter to v0.0.9 (16 KB page alignment)#723
TaprootFreak merged 1 commit into
stagingfrom
fix/bitbox-16kb-alignment

Conversation

@TaprootFreak

Copy link
Copy Markdown
Contributor

Why

Google Play flags the app bundle: its native code is not 16 KB page aligned, so it cannot run on Android 15+ devices that use 16 KB memory pages. The only offending library was libgojni.so (the gomobile-built Go binding shipped by bitbox_flutter) — its arm64-v8a PT_LOAD segments were p_align = 0x1000 (4 KB). Every other native lib in the bundle (libflutter, libapp, libsqlite3mc, libtensorflowlite_jni, …) is already ≥ 16 KB.

What

Bump bitbox_flutter v0.0.8 → v0.0.9. v0.0.9 rebuilds the gomobile binding with -extldflags=-Wl,-z,max-page-size=16384, producing 16 KB-aligned .so libraries. See DFXswiss/bitbox_flutter#30.

pubspec.lock updated to the v0.0.9 commit (6172a2e); no other lock entries change.

Verification

  • bitbox_flutter v0.0.9 jni/arm64-v8a/libgojni.so + x86_64: p_align 0x10000x4000 (16 KB)
  • API-safe bump: javap public signatures (146 lines) and exported dynamic symbols (284) are byte-identical between v0.0.8 and v0.0.9 — only ELF alignment changed, so no source-level impact
  • bitbox_flutter PR gate green (go vet/test, dart format, analyze, flutter test)

Test plan

  • App CI green (Analyze & Test, Visual Regression, Coverage Floor Gate)
  • Release build: confirm lib/arm64-v8a/libgojni.so reports 16 KB alignment in the final AAB and the Play Console warning clears

bitbox_flutter v0.0.9 rebuilds libgojni.so with 16 KB ELF page
alignment. It was the only native library in the app bundle still 4 KB
aligned, which Google Play flags as incompatible with Android 15+
devices that use 16 KB memory pages. The plugin's exported Java API and
dynamic symbols are unchanged between v0.0.8 and v0.0.9 (native binding
rebuild only), so this is a drop-in bump.
@TaprootFreak TaprootFreak marked this pull request as ready for review June 9, 2026 17:57
@TaprootFreak TaprootFreak merged commit d9f54c2 into staging Jun 9, 2026
6 checks passed
@TaprootFreak TaprootFreak deleted the fix/bitbox-16kb-alignment branch June 9, 2026 17:57
TaprootFreak added a commit that referenced this pull request Jun 9, 2026
Resolves the pubspec conflict from #723 (bump to v0.0.9, 16 KB alignment). Keeps
the dependency pinned to the bitbox_flutter fix branch — which now carries BOTH
the 16 KB alignment (merged from #30) and the new getDeviceStatus — at the
updated commit. Moves to the v0.0.10 tag once the plugin PR lands.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant