J'ai créé un exemple d'application nommé checkStatus
. Maintenant, je veux créer un fichier APK signé. Je peux donc l'installer sur différents appareils pour mes tests.
Pour cela, j'ai cherché sur Google et trouvé cette documentation .
Selon le document, je suis passé au répertoire de mon projet et j'ai exécuté la commande suivante:
keytool -genkey -v -keystore key-name.keystore -alias alias-name -keyalg RSA -keysize 2048 -validity 10000
Après avoir exécuté la commande ci-dessus, j'ai obtenu un fichier nommé key-name.keystore
à projectRoot/key-name.keystore
.
Et puis j'ai copié-collé ce fichier dans projectRoot/platforms/android/key-name.keystore
.
Après cela, j'ai créé un fichier nommé ant.properties
et l' ai enregistré dans projectRoot/platforms/android
.
J'ai écrit le code suivant dans le fichier:
key.store=projectRoot/key-name.keystore
key.alias=myApp
Après cela, j'ai exécuté la commande suivante pour libérer
Cordova builds android --release
Il lance l'erreur suivante:
/home/projectRoot/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: ant with args: release,-f,/home/projectRoot/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /home/projectRoot/platforms/android/cordova/build: Command failed with exit code 8
at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
Donc, cette fois, j'ai modifié la key.store
valeur dans le ant.properties
fichier de la manière suivante.
key.store=/home/projectRoot/platforms/android/key-name.keystore
Encore une fois, j'ai exécuté la cordova build android --release
commande. Il jette la même erreur.
Quelqu'un peut-il me dire ce que j'ai fait de mal?
Réponses:
Étape 1:
ajoutez le
--save
pour qu'il supprime le plugin duconfig.xml
fichier.Étape 2:
Pour générer une version de version pour Android, nous devons d'abord apporter une petite modification au
AndroidManifest.xml
fichier trouvé dans plates-formes / android. Modifiez le fichier et changez la ligne:et changer
android:debuggable
pourfalse
:Depuis cordova 6.2.0, supprimez complètement la balise android: debuggable. Voici l'explication de Cordova:
Si, au contraire, vous spécifiez une valeur spécifique dans le fichier manifeste, les outils l'utiliseront toujours. Cela peut entraîner la publication accidentelle de votre application avec des informations de débogage.
Étape 3:
Nous pouvons maintenant dire à Cordova de générer notre version de version:
Ensuite, nous pouvons trouver notre fichier APK non signé dans
platforms/android/ant-build
. Dans notre exemple, le fichier étaitplatforms/android/ant-build/Example-release-unsigned.apk
Étape 4:
Remarque: nous avons notre keystore
keystoreNAME-mobileapps.keystore
dans ce Git Repo, si vous souhaitez en créer un autre, veuillez suivre les étapes suivantes.Génération de clé:
Syntaxe:
Egs:
Ensuite, le magasin de clés a été généré avec le nom NAME-mobileapps.keystore
Étape 5:
Placez le fichier de clés généré dans
ancienne version cordova
Nouvelle version cordova
Pour signer l'APK non signé, exécutez l'outil jarsigner qui est également inclus dans le JDK:
Syntaxe:
Egs:
OU
Cela signe l'apk en place.
Étape 6:
Enfin, nous devons exécuter l'outil d'alignement de zip pour optimiser l'APK:
OU
OU
Nous avons maintenant notre version binaire finale appelée example.apk et nous pouvons la publier sur le Google Play Store.
la source
-tsa timestamp.digicert.com
lancé une NullPointerException pour moi.-tsa http://timestamp.digicert.com
semble le réparerUne mise à jour de @malcubierre pour Cordova 4 (et versions ultérieures) -
Créer un fichier appelé
release-signing.properties
et mettre dans unAPPFOLDER\platforms\android
dossierContenu du fichier: modifier après = pour tous sauf 2ème ligne
Ensuite, cette commande devrait créer une version finale:
la source
build-extras.gradle
fichier. Document cordova pertinent ici .Dans la documentation actuelle , nous pouvons spécifier un build.json avec le keystore:
Et puis, exécutez le commando avec --buildConfig argumente, de cette façon:
la source
Étape 1:
Allez à
cordova\platforms\android
et créez unant.properties
fichier appelé fille avec les informations du fichier de keystore (ce keystore peut être généré à partir de votre SDK Android préféré, studio ...):Étape 2:
Allez sur le chemin cordova et exécutez:
Remarque: vous serez invité à demander votre fichier de clés et votre mot de passe clé
Un YourApp-release.apk apparaîtra dans
\cordova\platforms\android\ant-build
la source
Dans cordova 6.2.0 , il dispose d'un moyen simple de créer une version de version. reportez-vous aux autres étapes ici Étapes 1, 2 et 4
la source
The system cannot find the file specified
utilisation de Cordova 6.2.0cordova build android --release -- --keystore="C:\release.keystore" --storePassword=****** --alias=mr5
"
(guillemets doubles), il a commencé à fonctionner. Je pense que Cordova a un problème avec l'analyse des caractères spéciaux.Sur Mac (osx), j'ai généré deux fichiers .sh, un pour la première publication et un autre pour la mise à jour:
Et pour mettre à jour votre application:
En supposant que vous soyez dans votre dossier de départ ou dans un dossier en tête de vos dossiers d'applications. Assurez-vous de configurer correctement chmod pour utiliser ce script. Ensuite :
Votre apk signé sera dans le dossier de votre application / plates-formes / android / build / sorties / apk / as SignedApk.apk Assurez-vous d'utiliser l'alias de clé et le mot de passe corrects définis avec le premier script
la source
Construisez le fichier APK de la version Cordova dans cmd.
CHEMIN DU FICHIER DU MAGASIN DE CLÉS : chemin du fichier du magasin de clés (F: /cordova/myApp/xxxxx.jks)
MOT DE PASSE DU MAGASIN CLÉ : xxxxx
ALIAS DU MAGASIN CLÉ : xxxxx
MOT DE PASSE ALIAS DU MAGASIN CLÉ : xxxxx
CHEMIN DE zipalign.exe : chemin du fichier zipalign.exe (C: \ Users \ xxxx \ AppData \ Local \ Android \ sdk \ build-tools \ 25.0.2 \ zipalign)
ANDROID UNSIGNED APK NAME : android-release-unsigned.apk
ANDROID RELEASE APK NAME : android-release.apk
Exécutez les étapes ci-dessous dans cmd (exécutez en tant qu'administrateur)
la source
la source
Vérifiez d'abord votre code de version et votre nom de version si vous mettez à jour votre application. Et assurez-vous d'avoir un keystore précédent.
Si vous mettez à jour l'application, suivez les étapes 1,3,4.
Étape 1:
Accédez à votre projet cordova pour générer notre version de version:
Ensuite, nous pouvons trouver notre fichier APK non signé dans platform / android / ant-build. Dans notre exemple, le fichier était
si vous avez utilisé la construction de fourmis
OU
si vous avez utilisé gradle-build
Étape 2:
Génération de clé:
Syntaxe:
si la commande keytool ne reconnaît pas, procédez comme suit
Vérifiez que le répertoire dans lequel se trouve l'exécutable keytool se trouve sur votre chemin. (Par exemple, sur ma machine Windows 7, il se trouve dans C: \ Program Files (x86) \ Java \ jre6 \ bin.)
Exemple:
Ensuite, le magasin de clés a été généré avec le nom NAME-mobileapps.keystore
Étape 3:
Placez le fichier de clés généré dans D: \ projects \ Phonegap \ Example \ plates-formes \ android \ ant-build
Pour signer l'APK non signé, exécutez l'outil jarsigner qui est également inclus dans le JDK:
Syntaxe:
S'il ne se reconstitue pas, procédez comme suit
(1) Faites un clic droit sur "Ce PC"> cliquez avec le bouton droit sur Propriétés> Paramètres système avancés> Variables d'environnement> sélectionnez CHEMIN puis MODIFIER.
(2) Ajoutez votre chemin de dossier jdk bin aux variables d'environnement, cela devrait ressembler à ceci:
"C: \ Program Files \ Java \ jdk1.8.0_40 \ bin".
Exemple:
Cela signe l'apk en place.
Étape 4:
Enfin, nous devons exécuter l'outil d'alignement de zip pour optimiser l'APK:
si zipalign ne reconnaît pas alors
(1) Accédez au chemin de votre sdk android et trouvez zipalign, il se trouve généralement dans android-sdk \ build-tools \ 23.0.3
(2) Copiez le fichier zipalign coller dans votre dossier de génération apk généralement dans le chemin ci-dessous
votreprojet / plates-formes / android / ant-build / Example-release-unsigned.apk
OU
Nous avons maintenant notre version binaire finale appelée example.apk et nous pouvons la publier sur le Google Play Store.
la source
Pour Windows, j'ai créé un
build.cmd
fichier:(remplacez le chemin et l'alias du keystore)
Pour Cordova:
Et pour Ionic:
Enregistrez-le dans le répertoire du ptoject, vous pouvez double-cliquer ou l'ouvrir avec cmd.
la source