# Android: Upload-Key importieren

Eine App, die schon im Play Store ist, muss weiter mit ihrem ursprünglichen Upload-Key signiert werden; diesen Key importierst du einmalig in die Plattform.

> Source: https://www.application-platform.com/de/docs/android-keystore-import/

Wenn die Plattform eine Android-App einrichtet, erzeugt sie einen eigenen **Upload-Key**, mit dem die Pipeline jedes App Bundle vor dem Hochladen signiert. Ist die App bereits im Google Play Store veröffentlicht, lehnt Google Bundles mit einem anderen Schlüssel ab; die Pipeline meldet dann *Android App Bundle was signed with the wrong key*. Dann importierst du den ursprünglichen Key.

Für den Import brauchst du nur den Upload-Key als `.jks`-Datei, nicht den App-Signing-Key, den Google bei **Play App Signing** selbst verwaltet.

## Fingerabdruck in der Play Console nachsehen

1. Öffne die [Google Play Console](https://play.google.com/console) und wähle die App.
2. Wechsle zu **Release** → **Setup** → **App integrity** (in der deutschen Oberfläche **App-Signatur**).
3. Notiere unter **Upload key certificate** den **SHA-1-Fingerprint**.

## Keystore-Datei beschaffen

Exportiere den Upload-Keystore aus der bisherigen Build-Umgebung, etwa Android Studio oder dem früheren CI-System, oder aus dem Passwort-Manager des Teams. Die Datei heißt häufig `upload-keystore.jks`. Dazu brauchst du das Keystore-Passwort, gegebenenfalls ein abweichendes Key-Passwort und den Alias des Schlüssels, oft `upload`.

## In der Plattform importieren

1. Öffne das Projekt zum Bearbeiten.
2. Klicke neben der **Android Bundle-ID** auf das **Schlüssel-Symbol** (Erweitert).
3. Wähle **Bestehenden Upload-Key importieren**.
4. Lade die `.jks`-Datei hoch und trage Passwörter und Alias ein.
5. Klicke auf **Importieren**. Die Plattform speichert die Werte verschlüsselt und zeigt den **SHA-1** des importierten Schlüssels an.

Der angezeigte SHA-1 muss mit dem Fingerprint aus der Play Console übereinstimmen; weicht er ab, hast du vermutlich die falsche `.jks`-Datei oder den falschen Alias gewählt. Nach dem Import aktualisiert die Plattform die Variablen für Terraform und GitLab CI, und die nächste Android-Pipeline signiert mit dem importierten Key.

{{< docnote >}}
Der Import ist erst möglich, wenn das Projekt gespeichert ist; lege ein neues Projekt also zuerst an und öffne es danach zum Bearbeiten.
{{< /docnote >}}

## Whitelabel-Apps

Bei [Whitelabel-Projekten]({{< relref "whitelabel-apps" >}}) mit eigener Bundle-ID pro Variante importierst du den Key jeweils neben der Bundle-ID der Variante. Die Pipeline verwendet variantenspezifische Variablen nach dem Muster `ANDROID_KEYSTORE_BASE64__{variant_ci_key}`. Sonderzeichen in der Varianten-ID werden dabei zu Unterstrichen, aus `kvb-live` wird also `kvb_live`; die Variable `APP_ID` behält die unveränderte Varianten-ID.

## Zurück zum Plattform-Key

Mit **Zurück auf Plattform-Key** im Import-Dialog löschst du den importierten Key, und die Plattform erzeugt beim nächsten Abgleich einen neuen. Das ist nur für Apps ohne Store-Eintrag sinnvoll.

