Sie haben ein APK hochgeladen, das im Debug-Modus signiert wurde. Sie müssen Ihr APK im Release-Modus-Fehler signieren

Lesezeit: 4 Minuten

Ich versuche, eine Anwendung im Google Play Store hochzuladen. Ich erstelle die .apk-Datei und signiere sie mit Maven. Ich habe maven-jarsigner-plugin verwendet, um die .apk-Datei zu signieren. Ich verwende den Schlüssel, den ich mit dem Eclipse-Assistenten zum Signieren einer anderen Android-App erstellt habe. Ich zipaligne die .apk-Datei mit dem folgenden Befehl: zipalign [-f] [-v] infile.apk outfile.apk

Wenn ich versuche, die Anwendung im Playstore hochzuladen, erhalte ich die Fehlermeldung, dass Sie eine APK hochgeladen haben, die im Debug-Modus signiert wurde. Sie müssen Ihr APK im Freigabemodus signieren. Kann mir bitte jemand sagen, wie ich die apk im Freigabemodus signiere? Ich bin neu bei Maven (habe es heute benutzt). Vielen Dank

  • Sehen Sie, ob die Antwort hier hilft.

    – yorkw

    30. Mai 2013 um 22:00 Uhr


  • Ich habe das gleiche Problem mit Unity stackoverflow.com/questions/60603203/…

    – INDRAJITH EKANAYAKE

    9. März 2020 um 16:32 Uhr

Ändern Sie zu: signingConfig signingConfigs.release

aus signingConfig signingConfigs.debug

in Ihrer build.gradle-App-Ebene

  • Ich habe Stunden damit verbracht, mich damit zu beschäftigen, während ich versuchte, eine Flutter-App bereitzustellen, dies muss definitiv besser dokumentiert werden, ein einfaches TODO in der Datei reicht einfach nicht aus … danke!

    – mchurichi

    1. Juli 2020 um 6:37 Uhr

  • @mchurichi Eigentlich ist es hier dokumentiert flutter.dev/docs/deployment/android#configure-signing-in-gradle aber ich habe es auch vermisst

    – lordvcs

    8. September 2020 um 21:46 Uhr

  • Funktioniert bei mir nicht, gab Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer. beim Laufen flutter build apk --release

    – Harsh Phoujdar

    9. August 2021 um 22:07 Uhr

  • Es funktioniert, Mann! Danke vielmals!

    – Jesus Erwin Suárez

    13. Februar um 15:49 Uhr

Gehe zu android/app/build.gradle

Am Ende der Datei:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug <==== change this to release
    }
}

Das Ergebnis sollte wie folgt aussehen:

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.release
    }
}

  • Es funktioniert, Mann! Danke vielmals!

    – Jesus Erwin Suárez

    13. Februar um 15:49 Uhr

Ich weiß nicht, wie Sie das in Maven machen, aber Sie müssen Ihre App mit einem Release-Keystore kompilieren. Sie können eine mit erstellen keytooldie in Ihrem Java-Bin-Ordner verfügbar ist:

$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Beim Erstellen müssen Sie zwei Passwörter angeben, eines für den Schlüsselspeicher und eines für den Schlüssel. Wenn Ihr Keystore erstellt ist, können Sie den Eclipse-Exportassistenten verwenden, um Ihre App im Release-Modus zu kompilieren.

Weitere Einzelheiten finden Sie unter http://developer.android.com/tools/publishing/app-signing.html#releasemode

  • Das Problem ist, dass ich Eclipse nicht zum Kompilieren der App verwenden möchte. Das habe ich probiert und konnte das ohne Probleme. Ich muss es mit Maven kompilieren,

    – Nemin

    22. Mai 2013 um 0:08 Uhr

  • Dies ist die richtige Erklärung, verwenden Sie einfach diesen generierten Keystore auf Maven!

    – thiagolr

    23. Mai 2013 um 12:33 Uhr

Erstellen Sie Ihren Keystore immer mit Namen und Alias, die „release“ und nicht „debug“ enthalten. Wenn Sie den Fehler “Sie haben ein APK hochgeladen, das im Debug-Modus signiert wurde. Sie müssen Ihr APK im Release-Modus signieren” erhalten, ist es sicher, dass Sie den Standard-Keystore verwenden, der ‘debug.keystore’ ist, wodurch apk im Debug-Modus generiert wird.

Lösung

  1. Generieren Sie einen neuen Schlüsselspeicher
  2. Geben Sie eine Referenz in der build.gradle-Datei an
  3. Ändern Sie die Build-Variante in “Release”.
  4. Bauen

Dies sollte das Problem beheben.

Für Flatterfehler,
Standardmäßig erstellt Flattern Buildtypes wie unten

  buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}

Sie sollten die signingconfig-Zeile ändern

        signingConfig signingConfigs.release

Benutzeravatar von yendis
Yendis

Ich hatte das gleiche Problem mit meiner Flatter-App,

Fügen Sie diese zu Ihrem Android/App/Build hinzu. Grad:

vor Android {compileSdkVersion 30

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

Und nach defaultConfig {

}
signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

Benutzeravatar von romain ni
Roman ni

Die Verwendung von -genkeypair anstelle von -genkey löste das Problem für mich.

Also: keytool -genkeypair -keystore name.keystore -alias nameapp -keyalg RSA

1431770cookie-checkSie haben ein APK hochgeladen, das im Debug-Modus signiert wurde. Sie müssen Ihr APK im Release-Modus-Fehler signieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy