1.9 KiB
1.9 KiB
Android Build
Build the APK with:
make apk
make apk uses a local Java 25 install when JAVA_HOME points to one.
If the host does not have a working Java 25 install, it falls back to the
repo-managed Docker image in packaging/docker/android-apk/, which also builds
with Java 25.
Environment:
ANDROID_SDK_ROOTdefaults to/opt/android-sdk.ANDROID_NDK_ROOTdefaults to/opt/android-ndk.JAVA_HOMEdefaults to/usr/lib/jvm/java-25-openjdk.APK_BUILD_IMAGEoverrides the Docker image name used bymake apk-container.APP_IDoverrides the Android application id.APP_VERSIONoverrides the version shown inside KeePassGO itself.APK_OUToverrides the output path.APK_VERSIONoverrides the packaged app version.ANDROID_MIN_SDKoverrides the minimum supported Android SDK.ANDROID_TARGET_SDKoverrides the target Android SDK.
Installed machine prerequisites expected by this repo:
android-sdk-cmdline-tools-latestandroid-sdk-build-toolsandroid-platform-35android-sdk-platform-tools- a working Java 25 JDK install for
make apk-local, or Docker formake apk
The repo tracks gogio as a Go tool, and the local build runs through:
go tool gogio -target android ./cmd/keepassgo ...
The Android build uses the branded icon asset at:
internal/assets/keepassgo-icon.png
Note:
- KeePassGO's documented Android build uses Java 25 locally.
- If that host setup is unavailable,
make apkfalls back to the Docker image so the build still runs under Java 25 instead of encoding a newer host JDK as a requirement. - Android runtime testing on the
KeepassGoAPI35emulator showed a black-screen regression withgioui.org v0.9.0while a stock Gio example and KeePassGO both rendered correctly withgioui.org v0.8.0on the same emulator and SDK/JDK pipeline. KeePassGO is pinned to the working Gio line until that regression is understood upstream.