Spécifier la signature de config pour Gradle et Cordova 5
En correspondance avec Cordova news version 5.0.0 est prêt. J'ai essayé de mettre à jour tous mes projets Android, comme il était d'habitude.
De mettre à jour Cordova cadre lui-même:
npm update -g cordova
À la mise à jour de la bibliothèque dans le projet Android:
cordova platform update android
Après la construction de la nouvelle version à l'aide de "--version" option:
cordova build android --release
J'ai obtenu que la version non signée. Étrange...
Alors, comment est-il possible de réutiliser le fichier de clés (précédemment généré par keytool et utilisé par Cordova 4.0.0) pour avoir signé APK?
- veuillez vérifier ce trop - stackoverflow.com/a/31585543/1923045
- Je suis sûr que le 7 Mai est avant le 23 juillet 😉
- ouais, moi aussi je pense la même chose. 🙂 J'ai pensé que quelqu'un comme moi vont vérifier les commentaires pour une réponse rapide plus tard. (o|n)
Vous devez vous connecter pour publier un commentaire.
Il ressemble Cordova 5.0.0 utilise Gradle l'automatisation de la génération du système au lieu de Ant. Si les paramètres d'origine pour le fichier de clés définis dans le fichier "/plates-formes/android/ant.propriétés de" ne seront pas utilisés lors de la construction. Donc, nous aurons unsigned APK comme un résultat.
Pour résoudre ce problème, nous devons dire Gradle utilisation de fichier de clés existant ainsi. Enquête de construire.gradle nous donne des informations utiles que nous devons fournir signingConfigs.
Mais c'est une mauvaise idée de le faire dans ce fichier car il est étiqueté comme auto-généré et il doit être exempt de toute modification.
Donc finalement j'ai trouvé le moyen de le résoudre. Objet "signingConfigs" sera construit à partir d'un fichier avec le nom du fichier stocké dans cdvReleaseSigningPropertiesFile. En correspondance avec la documentation de la valeur par défaut de cette variable est "de presse-signature.propriétés". Donc, nous avons juste besoin de créer un nouveau fichier avec un tel nom dans le même dossier que "construire.gradle" fichier et de le mettre à l'intérieur le contenu suivant:
Chemin dans l'exemple est spécifié pour le fichier de clés enregistrés dans le répertoire racine du projet. Il a des Fenêtres de style... Dans le cas de Linux, vous aurez besoin d'utiliser des barres obliques (pas de double antislash comme dans l'exemple ci-dessus).
En outre, vous pouvez définir votre propre chemin pour la signature du fichier de paramètres.
Pour en savoir plus sur que de vérifier la version de bord de cordova documentation.
platform/android/release-signing.properties
Selon la documentation officielle (v5.1.1+) j'ai juste ajouté un construire.json
et que mon android.fichier de clés fichier dans la racine de cordova dossier.
cordova build android --release
fera l'affaire, pas de crochets de besoin, le singned apk fichier peut être trouvé dans ./de plate-forme/android/build/sorties/apk comme android-version.apk.
keytool
, entré toutes les données et le mot de passe...et maintenant ont myApp.fichier de clés compilé. Je suis en supposant que le mot de passe utilisé est lestorePassword
. Si oui, alors d'où vientpassword
viennent?"keystore": "\users\rpo\dev\appkeys\thisApp1.keystore",
et j'ai une erreur:Error: Unexpected token s
- son n'aime pas le chemin. Et ce chemin est un système direct du chemin de la racine à la .fichier de stockage des clés.Pour cordova 5.1.1+, reportez-vous à Ronny Elflein r11lein réponse https://stackoverflow.com/a/30980293/2163398
La réponse actuelle est bonne (par @maxime), mais nous voulons garder une plate-forme spécifique dossier intacte, de sorte que nous pouvons maintenir hors de contrôle de version. J'ai donc créé ce Crochet pour copier automatiquement le "presse-signature."propriétés de fichier dans android dossier.
Donc, d'abord, placez votre fichier de clés dans votre racine du projet. Puis créer la "libération de la signature.les propriétés" dans le dossier config à la racine de votre projet cordova. Contenu (type storefile chemin dans l'exemple est spécifié pour le fichier de clés enregistrés dans le répertoire racine du projet. Il a des Fenêtres de style... Dans le cas de Linux, vous aurez besoin d'utiliser des barres obliques):
Ensuite, ajouter si n'existe pas le "after_prepare" le dossier à l'intérieur de la "crochets" le dossier, et la crète dans un fichier appelé "copy_assets.js".Contenu:
Si vous n'avez pas hace pcn dans votre projet, ouvrez une invite de promt dans le dossier du projet de la racine et de l'exécution de la commande (c'est possible, vous devez créer un de paquets.fichier json dans votre racine du projet):
Ensuite, vous pouvez exécuter:
sudo npm install -g cordova
et maintenant l' @Ronny réponse fonctionne très bien!Pour automatiser construire processus de libération, vous devez créer de construire".json" sur votre projet de dossier et d'inclure le contenu suivant:
La keytore est généré à l'aide de
Si vous avez déjà un fichier de magasin de clés il suffit d'exécuter la commande ci-dessous pour connaître le contenu requis
Ensuite vous avez juste à lancer
keytool
, entré toutes les données et le mot de passe...et maintenant ont myApp.fichier de clés compilé. Je suis en supposant que le mot de passe utilisé est lestorePassword
. Si oui, alors d'où vientpassword
viennent?Étapes
- 1) Générer un fichier de clés certificat
3) Spécifier la signature de config pour Gradle
Créer le fichier fichier de propriétés de libération de signature.propriétés (nom de fichier)
Écrire soufflet de clés et de valeurs
Syntaxe
Exemple
cordova construire android-version
cordova run android-version
plateformes\android\build\sorties\apk
Dans la dernière gradle version, il est également possible de créer un fichier nommé "la libération de la signature.les propriétés" à la "\plateformes\android\ dossier". Le contenu doit être:
Le fichier ".fichier de stockage des clés" doit être dans le même dossier.