code-kumpel/docs/android.md
jodaaisupport-commits f4199bff1a
Some checks are pending
CI / test (push) Waiting to run
Android-App (Capacitor): Pixel-Icons, Splash, Back-Button, Haptik, Brain-URL in App
2026-10-31 10:25:10 +01:00

2.3 KiB
Raw Permalink Blame History

Code-Kumpel für Android

Die Android-App ist ein Capacitor-6-Wrapper um die statische Web-App (android-app/). appId de.codekumpel.app, Name „Code-Kumpel“, Hochformat, dunkle Statusleiste, Pixel-Icons (adaptive) und Splash aus dem Byte-Sprite.

Voraussetzungen

  • Node 18+, JDK 17, Android SDK (platform android-34, build-tools 34)
  • export JAVA_HOME=…/jdk17 ANDROID_HOME=…/android-sdk

Bauen

cd android-app
npm install
npm run sync            # kopiert die Web-App nach www/ (ohne brain/, tests/, Docker …) + cap sync
npm run icons           # optional: Icons/Splash neu erzeugen
cd android
./gradlew assembleDebug                    # app/build/outputs/apk/debug/app-debug.apk
./gradlew assembleRelease bundleRelease    # signierte APK + AAB

Release-Signatur: app/build.gradle liest keystore.properties (storeFile, storePassword, keyAlias, keyPassword) aus ../code-kumpel-android-keystore/ neben dem Repo oder aus dem Pfad in CK_KEYSTORE_PROPS. Der Keystore liegt nie im Repo. Geht er verloren, kann die App im Play Store nicht mehr aktualisiert werden (außer mit Play App Signing) – sicher sichern!

Installieren

  • adb install -r code-kumpel-debug.apk (USB-Debugging an), oder APK aufs Handy kopieren und „Unbekannte Quellen“ erlauben.
  • Prüfen: aapt dump badging code-kumpel-release.apk

Verhalten in der App

  • config.js erkennt Capacitor (window.Capacitor, User-Agent CodeKumpelApp) und nutzt immer den Render-Brain https://code-kumpel-brain.onrender.com.
  • native.js: Zurück-Taste schließt offene Dialoge, sonst App beenden; Haptik bei Level-up; Web Audio wird bei der ersten Berührung freigeschaltet.

Play Store

  1. Entwicklerkonto (einmalig 25 USD) anlegen, App „Code-Kumpel“ erstellen.
  2. code-kumpel-release.aab hochladen, Play App Signing aktivieren (unser Keystore = Upload-Key).
  3. Vor jedem Update versionCode und versionName in android-app/android/app/build.gradle erhöhen.
  4. Store-Eintrag: Icon android-app/play-store-icon-512.png, Feature-Grafik 1024×500, Screenshots, Datenschutzerklärung (Brain-Server erhält Chat-Texte), Datensicherheits-Formular, Inhaltsaltersfreigabe.
  5. targetSdk: Google verlangt für neue Apps aktuell API 35 – vor dem Upload targetSdkVersion/compileSdkVersion in variables.gradle auf 35 anheben (Capacitor 7 + JDK 21 empfohlen).