The first base32 symbol carries 3 data bits (26 symbols = 130 bits, 2 spare), but decode only accepted values 0-3, so ~half of generated keys failed to parse. Adds an edge-case test, rustfmt config, Cargo.lock, and on-demand cross targets instead of installing all seven in rust-toolchain.toml. Co-Authored-By: Claude Opus 5.5 <[email protected]>
11 lines
610 B
Bash
Executable File
11 lines
610 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds jniLibs + Kotlin bindings into ../kestrove-android/core-ffi. Needs: cargo install cargo-ndk; ANDROID_NDK_HOME set.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
OUT=../kestrove-android/core-ffi/src/main
|
|
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android
|
|
cargo ndk -t arm64-v8a -t armeabi-v7a -t x86_64 -o "$OUT/jniLibs" build -p kv-ffi --release
|
|
cargo build -p kv-ffi
|
|
cargo run -p kv-ffi --bin uniffi-bindgen -- generate --library target/debug/libkv_ffi.dylib --language kotlin --out-dir "$OUT/java"
|
|
echo "✅ Android libs + bindings written to $OUT"
|