Gå til innhold

Android-release

Hvordan bygge og slippe en ny Android-versjon av Connect-appen. Appen er en Capacitor 7-app — web-bygget pakkes inn i et Android-skall.

Nøkkelfakta

Verdi
Applikasjons-ID net.knapphus.connectapp
versionName / versionCode f.eks. 3.3.4 / 33400 (i android/app/build.gradle)
App-versjon i web-laget AppSettings.appVersion i src/app/shared/app-settings.ts
minSdk / target/compileSdk 23 / 35
Signeringsnøkkel KnapphusConnect.keystore (på JHL-fellesområdet under …\System\, ikke i git)
Push (valgfritt) google-services.json i android/app/ — uten den er push deaktivert

Slik lager du en release

  1. Bump versjon tre steder, konsistent:
  2. versionName og versionCode i android/app/build.gradle (versionCode må alltid økes for Play).
  3. appVersion i src/app/shared/app-settings.ts (vises i appen).
  4. Legg release-notes-entry (se konvensjonene).
  5. Sjekk API-URL: API_ENDPOINT i app-settings.ts skal peke på riktig miljø (prod) for distribusjonsbygget.
  6. Bygg web + synk til Android:
    pnpm build                 # produksjonsbygg → www/
    npx cap sync android       # kopierer www/ + plugins inn i android/
    
  7. Signert bygg i Android Studio:
  8. Åpne android/-mappen i Android Studio.
  9. Build → Generate Signed Bundle / APK → velg Android App Bundle (.aab) for Play Store (eller APK for sideloading).
  10. Velg KnapphusConnect.keystore og oppgi passord/alias (oppbevares trygt, ikke i repoet).
  11. Bygg som release.
  12. Distribuer:
  13. Google Play: last opp .aab i Play Console (pakkenavn net.knapphus.connectapp) til ønsket spor (intern/lukket/produksjon).
  14. Sideload/test: del .apk direkte.

Kommandolinje-alternativ til steg 4 (uten Android Studio): cd android && ./gradlew bundleRelease — men da må signeringen settes opp (keystore via signingConfig eller gradle.properties), siden build.gradle i dag ikke har en signingConfig (signeringen gjøres manuelt i Android Studio).

Web-app vs. Android

Web-appen (www/) deployes separat til app.knapphus.net og har service worker med oppdateringsvarsel — webbrukere får ny versjon ved neste lasting, uten butikk. Android krever ny release gjennom Play.

Fallgruver

  • versionCode må økes hver Play-opplasting, ellers avvises bygget.
  • Keystoren er kritisk — mister man den, kan man ikke oppdatere appen på samme pakkenavn. Ta sikkerhetskopi (utenfor git).
  • npx cap sync må kjøres etter pnpm build, ellers pakkes gammelt web-bygg.
  • Endrer du NorTraceBearer i app-settings.ts, følger det med bygget — krever ny release (se Soolo/NorTrace).

Relaterte sider