summaryrefslogtreecommitdiff
path: root/mobile
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-05 14:12:13 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-05 14:12:13 +0200
commit8929ab96ad44b707bafd7dfe6f1f7773843c8e85 (patch)
treece5005fe7e28a7feab6904cf40415fb0e1e8cc07 /mobile
parenteb4a02205f5b3b972c44b854d5becbbd0b522981 (diff)
downloadlectio-8929ab96ad44b707bafd7dfe6f1f7773843c8e85.tar.gz
lectio-8929ab96ad44b707bafd7dfe6f1f7773843c8e85.zip
mobile: fix the documented gomobile bind command so it reproduces the shipped .aar
The comment omitted -javapkg, the second -target ABI and -androidapi. A clean clone following it got a .aar whose classes sit under go.mobile.gojni instead of xyz.labunix.dlectio.engine.mobile, carries only arm64-v8a, and declares no minSdkVersion match to the app's 26 -- the app cannot import the result. Verified by rebuilding the binding with the corrected command and confirming the artifact's ABIs, package and minSdkVersion against the shipped one.
Diffstat (limited to 'mobile')
-rw-r--r--mobile/mobile.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/mobile/mobile.go b/mobile/mobile.go
index d91831c..7e4c109 100644
--- a/mobile/mobile.go
+++ b/mobile/mobile.go
@@ -1,9 +1,16 @@
// Package mobile is lectio's engine facade for the dlectio Android app. It is
// bound to a native Android library with gomobile:
//
-// gomobile bind -target=android/arm64 -tags fullbible \
+// gomobile bind -target=android/arm64,android/amd64 -androidapi 26 \
+// -javapkg=xyz.labunix.dlectio.engine -tags fullbible \
// -o dlectio-engine.aar github.com/lukaszkasprzak/lectio/mobile
//
+// -javapkg gives the bound Mobile class its xyz.labunix.dlectio.engine.mobile
+// package (the app imports it from there); the two -target ABIs match the
+// app's arm64-v8a and x86_64 device/emulator targets; -androidapi 26 matches
+// the app's minSdk. Omitting any of the three still produces an .aar, just
+// one the app cannot import or that lacks an ABI it needs.
+//
// The app calls Day() with a plain date/form/version and receives one JSON
// document with the day's identity and rendered Mass readings. All liturgical
// computation and text resolution happens here, in the exact validated lectio