feat(mobile): rehacer binding gomobile sobre pkg/client
Reintroduce mobile/unibus.go (package mobile), borrado en la limpieza de frontends experimentales. Expone una API plana gomobile-friendly sobre pkg/client para que la app Android sea un peer del bus con el mismo cifrado de extremo a extremo que cualquier otro: - GenerateIdentity, NewSession (vía client.Connect con TLS+nkey+caPath) - EndpointID, ConnectedServer, IsConnected - CreateRoom, Join, RefreshSession (contrato de membresía issue 0006e) - Publish, Subscribe(FrameListener), ListRoomsJSON - Card, Invite, Kick, Request, Close No reimplementa criptografía: todo delega en pkg/client. FrameListener documenta el contrato de hilo (los callbacks llegan en una goroutine de NATS; Kotlin debe saltar al hilo principal). gen_aar.sh regenera el .aar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
# Regenera el binding gomobile (unibus.aar) a partir de ./mobile sobre pkg/client.
|
||||
#
|
||||
# El .aar (~38 MB, con libgojni.so para 4 ABIs) NO se versiona: es un artefacto
|
||||
# de build reproducible. Este script lo regenera. Requisitos:
|
||||
# - Go con gomobile/gobind instalados:
|
||||
# go install golang.org/x/mobile/cmd/gomobile@latest
|
||||
# go install golang.org/x/mobile/cmd/gobind@latest
|
||||
# gomobile init
|
||||
# - Android NDK (este repo usó 26.3.11579264 dentro del Android SDK).
|
||||
#
|
||||
# En un worktree fuera del árbol del registry, pkg/client importa
|
||||
# "fn-registry/functions/cybersecurity" vía el `replace` del go.mod. Si ese
|
||||
# replace relativo no resuelve (p. ej. worktree en /tmp), crea un go.work local
|
||||
# (gitignored) con: replace fn-registry => /ruta/absoluta/a/fn_registry
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
: "${ANDROID_HOME:=$HOME/android-sdk}"
|
||||
: "${ANDROID_NDK_HOME:=$ANDROID_HOME/ndk/26.3.11579264}"
|
||||
export ANDROID_HOME ANDROID_NDK_HOME
|
||||
export PATH="$HOME/go/bin:$PATH"
|
||||
|
||||
OUT="android/app/libs/unibus.aar"
|
||||
mkdir -p "$(dirname "$OUT")"
|
||||
|
||||
echo "==> gomobile bind -> $OUT"
|
||||
gomobile bind \
|
||||
-target=android \
|
||||
-androidapi 21 \
|
||||
-javapkg com.unibus.core \
|
||||
-o "$OUT" \
|
||||
./mobile
|
||||
|
||||
echo "==> OK: $OUT"
|
||||
ls -lh "$OUT"
|
||||
Reference in New Issue
Block a user