From 28e58089aa2de4e9dbe432e41c058668b1c49a8a Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 24 Sep 2026 20:59:00 +0200 Subject: [PATCH] fix(android-agent): fester Signaturschluessel -> Updates statt Paket-Konflikt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Jeder Build signierte bisher mit einem zufaelligen Auto-Debug-Key -> neue APK = andere Signatur -> Android verweigert Update ('Konflikt mit bestehendem Paket'). Fester signingConfig (rootProject/aria-agent.keystore) fuer debug+release, per Datei-Existenz-Guard. Keystore liegt nur lokal (gitignored, NICHT im public Repo — Backup!). Verifiziert: Signer-DN CN=ARIA Host-Agent. Version 0.0.0.3/code 3. Co-Authored-By: Claude Opus 4.8 --- host-agent/android/.gitignore | 3 +++ host-agent/android/app/build.gradle | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/host-agent/android/.gitignore b/host-agent/android/.gitignore index 37f7437..0d4fa5c 100644 --- a/host-agent/android/.gitignore +++ b/host-agent/android/.gitignore @@ -6,3 +6,6 @@ local.properties .idea/ *.iml captures/ + +# Signaturschluessel — NUR lokal, niemals ins oeffentliche Repo (Backup machen!) +aria-agent.keystore diff --git a/host-agent/android/app/build.gradle b/host-agent/android/app/build.gradle index fd50ee9..e42cc36 100644 --- a/host-agent/android/app/build.gradle +++ b/host-agent/android/app/build.gradle @@ -11,13 +11,33 @@ android { applicationId 'de.hackersoft.ariaagent' minSdk 26 targetSdk 33 // 33 vermeidet die Foreground-Service-Typ-Pflicht von 34 - versionCode 2 - versionName '0.0.0.2' + versionCode 3 + versionName '0.0.0.3' + } + + // Fester Signaturschlüssel: jeder Build signiert mit DEMSELBEN Key, damit + // Android neue APKs als Update derselben App akzeptiert (sonst "Konflikt mit + // bestehendem Paket"). Die Keystore-Datei liegt NUR lokal (gitignored, nicht + // im oeffentlichen Repo) — UNBEDINGT sichern, sonst brechen kuenftige Updates. + def ariaKeystore = rootProject.file('aria-agent.keystore') + signingConfigs { + aria { + if (ariaKeystore.exists()) { + storeFile ariaKeystore + storePassword 'ariaagent' + keyAlias 'aria' + keyPassword 'ariaagent' + } + } } buildTypes { + debug { + if (ariaKeystore.exists()) signingConfig signingConfigs.aria + } release { minifyEnabled false + if (ariaKeystore.exists()) signingConfig signingConfigs.aria } } compileOptions {