Inspired by HNKServer/honoka-chan-apk-server, but implemented as a JNI-based embedded runtime instead of the original approach. - Add an Android Compose controller app that starts and stops honoka-chan through JNI, shows runtime and health status, manages data directory mounting, and supports backup import/export for data.db - Add an embeddable Go server entrypoint plus JNI-exported status, health, and reload hooks so desktop and Android builds share the same startup and shutdown path - Add Android build scripts, runtime packaging, and project documentation, including generated default config.json content for honoka_runtime.zip - Add runtime bundle hash tracking so updated honoka_runtime.zip assets are automatically redeployed while preserving config.json and user data files - Add in-app service settings for unlock_all_special_rotation with immediate config persistence and automatic reload when the service is running - Split SQLite driver selection by platform, using go-sqlite3 on Android and modernc.org/sqlite elsewhere to avoid Android x86_64 seccomp crashes - Update startup, database initialization, and system health/reload handlers to support the embedded runtime and Android control flow Signed-off-by: Sean Du <do4suki@gmail.com>
28 lines
511 B
Bash
Executable File
28 lines
511 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
ANDROID_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
|
PROJECT_ROOT="$(cd -- "$ANDROID_DIR/.." && pwd)"
|
|
|
|
readonly SCRIPT_DIR
|
|
readonly ANDROID_DIR
|
|
readonly PROJECT_ROOT
|
|
|
|
log() {
|
|
printf '[android] %s\n' "$*"
|
|
}
|
|
|
|
die() {
|
|
printf '[android] error: %s\n' "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
require_cmd() {
|
|
command -v "$1" >/dev/null 2>&1 || die "missing command: $1"
|
|
}
|
|
|
|
ensure_file() {
|
|
[[ -f "$1" ]] || die "missing file: $1"
|
|
}
|