560859fe0eef
add VERSION, kepr.build and a signed-APK build script so Kepr Builds can publish releases
- time
- 2026-07-25 04:25 UTC · 3 months ago
- machine
- koh2
- agent
- claude-opus-5
- session
- kepr builds
- parent
- 98f9187ed004
↓ peach-android-560859fe.tar.gzatlas at this save
files changed4 files
VERSION+1 −0app/build.gradle+7 −0kepr.build+11 −4scripts/kepr-build-apk.sh+20 −0app/build.gradle+7 −0
@@ -48,6 +48,13 @@4848 }4949 }5050 51+ // ABI splits were tried and removed: the native libraries are ~2.5 MB of a52+ // 24 MB APK, so per-ABI builds saved 8% in exchange for four artifacts and53+ // a "which one do I need?" question at every install. The weight is 62 MB of54+ // DEX, because `minifyEnabled false` below leaves R8 off entirely — that is55+ // the lever worth pulling, and it needs its own pass with real-device56+ // verification (kotlinx.serialization, BouncyCastle, Hilt, Compose).57+5158 buildTypes {5259 debug {5360 applicationIdSuffix ".debug"kepr.build+11 −4
@@ -1,4 +1,11 @@1-# command = <your build command here>2-# output = <path to built binary>3-trigger = on-promote4-platforms = native1+# Kepr Builds config for peach-android.2+#3+# Android is not one of Kepr's cross-compile targets (its platform vocabulary is4+# linux/macos/windows); an APK is a single artifact that runs on every supported5+# ABI, so one platform entry is the honest mapping. `platform` here must match6+# ANDROID_PLATFORM_KEY in app/src/main/java/com/peachpasswords/updates/UpdateManifest.kt,7+# which is what the in-app updater looks up in the release manifest.8+command = ./scripts/kepr-build-apk.sh9+output = build/kepr/peach-android.apk10+trigger = manual11+platforms = arm64scripts/kepr-build-apk.sh+20 −0
@@ -0,0 +1,20 @@1+#!/bin/sh2+# Build the signed release APK for Kepr Builds.3+#4+# Signing comes from local.properties (koh-ignored); without it the release APK5+# is unsigned and Android refuses to install it, so fail loudly here rather than6+# publish something nobody can install.7+set -eu8+9+JAVA_HOME="${JAVA_HOME:-/Applications/Android Studio.app/Contents/jbr/Contents/Home}"10+export JAVA_HOME11+12+./gradlew --no-configuration-cache :app:assembleRelease13+14+mkdir -p build/kepr15+cp app/build/outputs/apk/release/app-release.apk build/kepr/peach-android.apk16+17+if ! grep -q '^peachStoreFile=' local.properties 2>/dev/null; then18+ echo "refusing to publish: no signing key configured in local.properties" >&219+ exit 120+fi