Wenn deine App bereits im Google Play Store veröffentlicht ist und die Plattform sie neu provisioniert, schlägt der Upload oft mit „signed with the wrong key“ fehl. Ursache: Die Plattform erzeugt standardmäßig einen neuen Upload-Key. Der Play Store erwartet aber den ursprünglichen Upload-Key deiner App.
Upload-Key vs. App-Signing-Key
Bei Play App Signing gibt es zwei Schlüssel:
| Schlüssel | Wer verwaltet ihn | Wofür |
|---|---|---|
| Upload-Key | Du (bzw. die Plattform nach Import) | Signiert das AAB vor dem Upload |
| App-Signing-Key | Signiert die an Nutzer ausgelieferte App |
Für den Import brauchst du nur den Upload-Key (.jks-Datei).
Wann ein Import nötig ist
- Migration einer bestehenden App auf die Plattform (Brownfield)
- App war schon einmal mit einem anderen CI/CD- oder lokalen Key veröffentlicht
- Fehlermeldung in der Pipeline: Android App Bundle was signed with the wrong key
Für neue Apps ohne Store-Eintrag reicht der plattformgenerierte Key.
Schritt für Schritt
1. Upload-Key aus der Play Console prüfen
- Google Play Console → deine App
- Release → Setup → App integrity (bzw. App-Signatur)
- Unter Upload key certificate den SHA-1-Fingerprint notieren
2. .jks-Datei beschaffen
Exportiere den Upload-Keystore aus deiner bisherigen Entwicklungsumgebung (Android Studio, früheres CI, Passwort-Manager). Typischer Dateiname: upload-keystore.jks.
Du brauchst:
- die
.jks-Datei - das Keystore-Passwort
- ggf. ein abweichendes Key-Passwort
- den Alias (häufig
upload)
3. In der Application Platform importieren
- Projekt bearbeiten (Composer oder Guided Wizard)
- Bei der Android Bundle-ID auf das Schlüssel-Symbol (Erweitert) tippen
- Bestehenden Upload-Key importieren wählen
.jkshochladen, Passwörter und Alias eintragen- Importieren — die Plattform speichert Secrets sicher in OpenBao und zeigt den SHA-1 an
4. SHA-1 abgleichen
Der angezeigte SHA-1 muss mit dem Fingerprint in der Play Console (Upload key certificate) übereinstimmen. Stimmt er nicht, ist vermutlich die falsche .jks-Datei oder der falsche Alias gewählt.
5. IaC-Sync abwarten
Nach dem Import synchronisiert die Plattform Terraform und GitLab-CI-Variablen. Die nächste Android-Pipeline signiert mit dem importierten Key.
Whitelabel-Apps
Bei Whitelabel-Projekten mit pro Variante eigener Bundle-ID gilt derselbe Scope: Import neben der jeweiligen Varianten-Bundle-ID. Die Pipeline nutzt variantenspezifische Variablen (ANDROID_KEYSTORE_BASE64__{variant_ci_key}). Sonderzeichen in der Varianten-ID (z. B. kvb-live) werden für GitLab-Keys zu Unterstrichen normalisiert (kvb_live); APP_ID in der CI bleibt die unveränderte Varianten-ID.
Zurück auf Plattform-Key
Im Import-Dialog kannst du Zurück auf Plattform-Key wählen. Das löscht den Import und erzeugt beim nächsten Sync einen neuen Key — nur sinnvoll für Apps ohne bestehenden Store-Eintrag.