Ich versuche, eine Release-APK-Datei in React Native ohne Erfolg zu erstellen ..__ Ich folgte allen Anweisungen hier , aber ich erhalte immer dasselbe Ergebnis, nachdem gradlew assembleRelease
in/mein-Projekt/Android-Pfad ausgeführt wurde
:app:validateSigningRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:validateSigningRelease'.
> Keystore file not set for signing config release
Ich verwende Windows 10 und ich vermute, es ist etwas mit der Bearbeitung der Datei ~/.gradle/gradle.properties
Nach meinem Verständnis ist ~ c:\Users\User Ich habe sogar einen Ordner c:\Users\User.gradle eingebaut.
Ich hatte die gleiche Fehlermeldung, aber ich habe es einfach behoben.
Wie in der RN-Dokumentation erwähnt Facebook Doc
Bearbeiten Sie die Datei ~/.gradle/gradle.properties oder Android/gradle.properties.
Ich habe eine andere Datei bearbeitet, die sich hier befindet
~/MYAPP/Android/gradle.properties
Dann habe ich sauber gemacht und wieder gebaut .. Ich hoffe das hilft.
Ich sehe, dass dieser Thread seit fast zwei Monaten inaktiv war, aber ich dachte mir, ich könnte aufschreiben, was dieses Problem für mich verursacht hat, vielleicht hilft es in der Zukunft jemand anderem.
Es war eigentlich ganz einfach: Als ich die Konfiguration aus der Dokumentation kopierte, wurde die Formatierung nicht beibehalten, entweder alles in eine Zeile oder in mehrere Zeilen eingefügt, aber die Zeilen wurden auch an Stellen geknickt, an denen sie nicht sollten. Sie müssen also nur sicherstellen, dass die Zeilen in der Datei build.gradle folgendermaßen aussehen:
keyPassword MYAPP_RELEASE_KEY_PASSWORD
und nicht
keyPassword
MYAPP_RELEASE_KEY_PASSWORD
Und das ist alles.
Sie können versuchen, Ihre gradle.properties-Variablen als Umgebungsvariablen festzulegen, und Ihre signinConfig-Version in Android/app/build.gradle folgendermaßen ändern:
signingConfigs {
release {
storeFile file(String.valueOf(System.getenv("GRADLE_KEYSTORE")))
storePassword System.getenv("GRADLE_KEYSTORE_PASSWORD")
keyAlias System.getenv("GRADLE_KEYSTORE_ALIAS")
keyPassword System.getenv("GRADLE_KEYSTORE_ALIAS_PASSWORD")
}
}
Ich bin auf einem Mac, aber ich schätze, Umgebungsvariablen sollten unter Windows besser funktionieren als die globale Datei .gradle/gradle.properties
Ich hoffe es hilft
Nur ein Hinweis für alle, die auf diese Hilfe stoßen. Wenn Sie den Keystore und das Kennwort und den Aliasnamen in das appcenter hochgeladen haben, müssen Sie keine Einstellungen in Android/gradle.properties oder Android/app/build.gradle vornehmen. Dazu werden die Keystore-Datei und die hochgeladenen env-Variablen verwendet die apk nachdem es gebaut wurde
.keystore
Erweiterungsname!
MYAPP_RELEASE_STORE_FILE=Android-app-demo-release-key.keystore
Ich wollte nicht generisch ~/.gradle/gradle.properties
ändern, aber es sind MY_APP...
vars definiert.
Aus irgendeinem Grund weiß ich nicht, dass meine Android/app/build.gradle
MY_APP_...
-Variablen mit den Werten der generischen Datei statt mit der lokalen aufgelöst wurden. Ich habe gerade MY_APP...
vars in PROJECTNAME...
und Android/app/build.gradle
in Android/gradle.properties
umbenannt und jetzt funktioniert es.
Ich hatte das gleiche Problem und nachdem ich viele Dinge ausprobiert hatte:
signingConfig signingConfigs.release
; das hat funktioniert aber unsigned apk erstellt*.keystore
immer wieder neu erstellt.Irgendwann habe ich vermisst, dass ich setzen musste
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
Innerhalb von MYAPP/Android/.gradle/4.10.1/gc.properties
. Jetzt weiß ich in den Dokumenten, dass sie entweder in ~/.gradle/gradle.properties
Oder Android/gradle.properties
Gesagt haben.
Aber der ~/.gradle/gradle.properties
Existierte nicht. und sie in Android/gradle.properties
einzutragen, hat auch nicht funktioniert.
Hoffe das hat geholfen!
Ich benutze auch Windows 10. Sie müssen dazu die Git Bash-Befehlszeile für Windows installieren. Nachdem Sie Git Bash installiert haben, navigieren Sie in Ihr Projekt/Android/App und führen Sie vim ~/.gradle/gradle.properties
aus.
Ich bin auch auf Windows 10 und entwickle in RN v0.54.4. Ich habe diese Fehlermeldung in dieser Version erhalten, aber nicht für meine älteren Anwendungen. Für mich musste ich nur die if-Anweisung entfernen, die in den React-Native-Dokumenten enthalten ist. Sie sagen dir zu tun
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
aber ich habe es geändert
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
dies ist der Code, den die Dokumente in einer früheren Version von RN hatten.