Comment puis-je créer une application Android localement à l'aide de la CLI Phonegap 3.x, prête à être publiée? Je vérifie le dossier bin généré dans le répertoire plates-formes / android du projet et ne contient que des fichiers APK .debug.
Au fait, j'utilise cette commande: phonegap local build android
la source
<application android:debuggable="true"...
besoin de changer pour<application android:debuggable="false"
/path/to/your/project/platforms/android/ant-build
Dans PhoneGap 3.4.0, vous pouvez appeler:
Si vous avez configuré le fichier «ant.properties» dans le répertoire «plates-formes / android» comme suit:
Ensuite, vous serez invité à entrer le mot de passe de votre keystore et le fichier de sortie (myapp-release.apk) se termine dans le répertoire «plates-formes / android / ant-build» déjà signé et aligné et prêt à être déployé.
la source
ant.properties
dansplatforms/android
et vient d'y déposer ces deux propriétés. Fonctionne parfaitement, merci!Dans cordova 6.2.0
Réponse précédente:
Selon cordova 5.0.0
et exécuter à
./build --release --buildConfig build.json
partir du répertoireplatforms/android/cordova/
l'emplacement du fichier de clés est relatif à
platforms/android/cordova/
, donc dans le.keystore
fichier de configuration ci-dessus etbuild.json
sont dans le même répertoire.keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
la source
Suite à @ steven-anderson, vous pouvez également configurer des mots de passe dans le fichier ant.properties, afin que le processus puisse être entièrement automatisé
donc si vous mettez dans platform \ android \ ant.properties ce qui suit
la source
je me suis beaucoup posé des questions parce que j'avais le même problème, mais dans mon installation, la commande "cordova" n'était jamais disponible et "phone gap build android --release" a simplement ignoré la plate-forme / android / ant.properties.
alors en regardant à l'intérieur de mon filtre de plate-forme, j'ai trouvé un dossier nommé "cordova" et à l'intérieur il y avait un binaire "build" qui acceptait l'argument --release, il m'a demandé les porte-clés et j'ai terminé avec un signé et prêt pour la production APK.
cela n'a jamais été documenté dans aucune partie du site de phone gap et franchement maintenant, je déteste un peu phonegap: (c'était censé rendre les choses plus faciles mais tout était simplement compliqué :(
la source
Ces étapes fonctionneraient pour Cordova, PhoneGap ou Ionic. La seule différence serait que, partout où un appel
cordova
est placé, remplacez-le parphonegap
ouionic
, pour votre scénario particulier.Une fois que vous avez terminé le développement et que vous êtes prêt à déployer, procédez comme suit:
Ouvrez une fenêtre de ligne de commande (Terminal sous macOS et Linux OU Invite de commandes sous Windows).
Dirigez-vous vers le / chemin / vers / votre / projet /, que nous appellerions la racine du projet.
À la racine du projet, supprimez le plugin "Console" de votre ensemble de plugins.
La commande est:
cordova plugin rm cordova-plugin-console
Tout en étant toujours à la racine du projet, utilisez la commande cordova build pour créer un APK pour la distribution des versions.
La commande est:
cordova build --release android
Le processus ci-dessus crée un fichier appelé
android-release-unsigned.apk
dans le dossierProjectRoot/platforms/android/build/outputs/apk/
Signez et alignez l'APK en suivant les instructions sur https://developer.android.com/studio/publish/app-signing.html#signing-manually
À la fin de cette étape, l'APK que vous obtenez peut être téléchargé sur le Play Store .
Remarque: En tant que débutant ou débutant, la dernière étape peut être un peu déroutante pour moi. On peut rencontrer quelques problèmes et avoir des questions sur ce que sont ces commandes et où les trouver.
Q1. Que sont jarsigner et keytool ?
Réponse: Les instructions de signature d'applications Android vous indiquent spécifiquement ce que sont jarsigner et keytool MAIS elles ne vous indiquent pas où les trouver si vous rencontrez une `` erreur de commande introuvable '' dans la fenêtre de ligne de commande.
Ainsi, si vous avez ajouté le Java Development Kit (JDK) à votre variable PATH , il suffit d'exécuter les commandes comme dans le Guide. MAIS, si vous ne l'avez pas dans votre PATH, vous pouvez toujours y accéder à partir du dossier bin de votre installation JDK.
Q2. Où est zipalign ?
Réponse: Il y a une forte probabilité de ne pas trouver la commande zipalign et de recevoir la «commande introuvable». Vous chercheriez probablement zipalign sur Google et où le trouver?
L' utilitaire zipalign est présent dans le dossier d'installation du SDK Android. Sous macOS, l'emplacement par défaut est à
user-name/Library/Android/sdk/
,. Si vous vous dirigez vers le dossier que vous trouverez un tas d'autres dossiers commedocs
,platform-tools
,build-tools
,tools
,add-ons
...Ouvrez le
build-tools
dossier.cd build-tools
. Ici, il y aurait un certain nombre de dossiers qui sont versionnés en fonction de la chaîne d'outils de construction que vous utilisez dans Android SDK Manager. ZipAlignest disponible dans chacun de ces dossiers. Personnellement, je vais chercher le dossier avec la dernière version. Ouvrez Any.Sur macOS ou Linux, vous devrez peut-être utiliser
./zipalign
plutôt que de simplement taperzipalign
comme le mentionne la documentation. Sous Windows,zipalign
c'est assez bon.la source
J'ai fait fonctionner cela en copiant-collant l'application signée dans le même répertoire que zipalign. Il semble que aapt.exe n'a pas pu trouver le fichier source même s'il lui a été donné le chemin. c'est-à-dire que cela n'a pas fonctionné zipalign -f -v 4 C: ... \ CordovaApp-release-unsigned.apk C: ... \ destination.apk il a atteint aapt.exeCordovaApp-release-unsigned.apk, s'est figé et en appuyant sur retour 'aapt.exeCordovaApp-release-unsigned.apk' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de commandes. Et cela a fait zipalign -f -v 4 CordovaApp-release-unsigned.apk myappname.apk
la source
Je sais que cette question concerne spécifiquement Phonegap 3.X, mais juste pour référence, toute version de Phonegap supérieure à 4.0.0 utilise Gradle au lieu de Ant pour construire par défaut. Pour utiliser Ant au lieu de Gradle, vous pouvez ajouter ceci à votre config.xml:
Lors de l'utilisation de Gradle, les informations de signature du keystore doivent maintenant aller dans un nouvel emplacement ( comme indiqué dans cet article ). Créez un nouveau fichier appelé ' release-signing.properties ' dans le même dossier que le fichier "build.gradle" et placez-le dans le contenu suivant:
la source
Vous pouvez essayer cette commande, elle devrait générer et exécuter l'application (donc .apk devrait être créé):
phonegap local run android
la source