web-dev-qa-db-fra.com

Fichier de clés React-Native non défini pour la signature de la version de configuration

J'essaie de créer un fichier .apk de version dans React Native sans succès . J'ai suivi toutes les instructions ici , mais j'obtiens toujours le même résultat après l'exécution de gradlew assembleRelease dans/mon-projet/le chemin Android:

: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

J'utilise Windows 10 et je soupçonne que c'est quelque chose avec l'édition du fichier ~/.gradle/gradle.properties

D'après ma compréhension, ~ est-ce que c:\Users\User J'ai même un dossier intégré c:\Users\User.gradle.

10
Ariel

J'ai eu le même message d'erreur, mais je viens de le corriger.

Comme mentionné dans la documentation RN Facebook Doc

Editez le fichier ~/.gradle/gradle.properties ou Android/gradle.properties

J'ai édité un autre fichier situé ici

~/MYAPP/Android/gradle.properties

Ensuite, nettoyez et construisez à nouveau… .. J'espère que cela vous aidera.

7
Daniel

Je vois que ce fil est inactif depuis près de deux mois, mais je me suis dit que je pourrais écrire ce qui a causé ce problème pour moi, peut-être que cela aidera quelqu'un d'autre à l'avenir.

C'était en fait assez simple: lorsque j'ai copié la configuration de la documentation, la mise en forme n'a pas été conservée, elle a tout été collée sur une ou plusieurs lignes, mais elle a également été interrompue. Il suffit donc de s’assurer que les lignes du fichier build.gradle ressemblent à:

keyPassword MYAPP_RELEASE_KEY_PASSWORD

et pas

keyPassword 
MYAPP_RELEASE_KEY_PASSWORD

Et c'est ça.

4
mishu

Vous pouvez essayer de définir vos variables gradle.properties en tant que variables d’environnement et modifier votre version de signinConfig dans Android/app/build.gradle en quelque chose comme:

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")
    }
}

Je suis sur Mac mais je suppose que les variables d'environnement devraient fonctionner mieux sous Windows que le fichier global .gradle/gradle.properties

J'espère que ça aide

2
guitoof

Juste une note pour quiconque trouve cela cherchant de l'aide. Si vous avez chargé le magasin de clés ainsi que le mot de passe et le pseudonyme sur appcenter, vous n'avez pas besoin de définir de paramètres dans Android/gradle.properties ou Android/app/build.gradle. l'apk après sa construction

1
Luke Grayland

Je ne voulais pas changer le ~/.gradle/gradle.properties générique mais il y a MY_APP... vars défini dessus.

Pour une raison quelconque, je ne connais pas mes variables Android/app/build.gradleMY_APP_... qui étaient résolues avec les valeurs du fichier générique au lieu du fichier local. Je viens de renommer MY_APP... vars en PROJECTNAME... en Android/app/build.gradle et Android/gradle.properties et maintenant cela fonctionne.

0
R01010010

J'utilise aussi Windows 10. Pour ce faire, vous devez installer la ligne de commande Git Bash pour Windows. Après avoir installé Git Bash, naviguez dans votre projet/Android/app et exécutez vim ~/.gradle/gradle.properties cela fonctionne pour moi.

0

Je suis aussi sur Windows 10 et je développe sous RN v0.54.4. J'ai eu cette erreur dans cette version mais pas pour mes anciennes applications. Pour moi, je devais simplement supprimer l'instruction if qui se trouve dans la documentation React-Native. Ils vous disent de faire 

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
        }
    }

mais je l'ai changé pour

release {
        storeFile file(MYAPP_RELEASE_STORE_FILE)
        storePassword MYAPP_RELEASE_STORE_PASSWORD
        keyAlias MYAPP_RELEASE_KEY_ALIAS
        keyPassword MYAPP_RELEASE_KEY_PASSWORD
    }

qui est le code que les docs avaient dans une version antérieure de RN.

0
George Miranda