UNPKG

20 kBMarkdownView Raw
1<!--
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance
9# with the License. You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing,
14# software distributed under the License is distributed on an
15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16# KIND, either express or implied. See the License for the
17# specific language governing permissions and limitations
18# under the License.
19#
20-->
21
22# cordova-cli
23
24> L'outil de ligne de commande pour construire, déployer et gérer [Cordova](http://cordova.io)-applications basées sur.
25
26[Cordova Apache](http://cordova.io) permet de construire des applications mobiles natives à l'aide de HTML, CSS et JavaScript. Cet outil aide à la gestion des demandes de Cordova multi-plateformes ainsi que l'intégration du plugin Cordova.
27
28Découvrez les [guides de mise en route](http://cordova.apache.org/docs/en/edge/) pour plus de détails sur l'utilisation des sous-projets de Cordova.
29
30# Plates-formes prises en charge Cordova
31
32 * Amazon Fire OS
33 * Android
34 * BlackBerry 10
35 * Firefox OS
36 * iOS
37 * Ubuntu
38 * Windows Phone 8
39 * Windows 8
40
41# Exigences
42
43 * [Node.js](http://nodejs.org/)
44 * Kits de développement logiciel pour chaque plate-forme, vous souhaitez soutenir :
45 * **Android**: [Android SDK](http://developer.android.com) - **NOTE** cet outil ne fonctionnera pas à moins d'avoir les mises à jour plus récentes absolues pour tous les composants SDK Android. Aussi, vous aurez besoin du SDK `Outils` et `plateforme-outils` des répertoires sur votre soutien sinon Android de **chemin d'accès système** échouera.
46 * **Amazon-fireos**: [Amazon Fire OS SDK](https://developer.amazon.com/public/solutions/platforms/android-fireos/docs/building-and-testing-your-hybrid-app) - **NOTE** cet outil ne fonctionnera pas sauf si vous avez Android SDK installé et chemins sont mises à jour comme indiqué ci-dessus. En outre, vous devrez installer SDK AmazonWebView et copier awv_interface.jar sur ~/.cordova/lib/commonlibs dossier système **Mac/Linux** ou **Windows** %USERPROFILE%/.cordova/lib/coomonlibs. Si commonlibs dossier n'existe pas alors en créer un.
47 * [SDK Windows Phone](http://dev.windowsphone.com/en-us/downloadsdk) - **NOTE** cet outil ne fonctionnera pas à moins d'avoir `msbuild` sur votre **chemin d'accès système** sinon support Windows Phone échouera (`msbuild.exe` est généralement situé dans `C:\Windows\Microsoft.NET\Framework\v4.0.30319`).
48 * **BlackBerry 10**: [SDK WebWorks BlackBerry 10](http://developer.blackberry.com/html5/download/). Assurez-vous que vous avez le dossier `dependencies/toolss/bin` dans le répertoire SDK ajouté à votre chemin !
49 * **iOS**: [iOS SDK](http://developer.apple.com) avec la dernière `Xcode` et les `Outils de ligne de commande de Xcode`
50 * **Windows Phone**: [Windows Phone SDK](http://dev.windowsphone.com/en-us/downloadsdk) - **NOTE** cet outil ne fonctionnera pas à moins d'avoir `msbuild` sur votre **chemin d'accès système** sinon support Windows Phone échouera (`msbuild.exe` est généralement situé dans `C:\Windows\Microsoft.NET\Framework\v4.0.30319`).
51
52`Cordova-cli` a été testé sur **Mac OS X**, **Linux**, **Windows 7**et **Windows 8**.
53
54Veuillez noter que certaines plateformes ont des restrictions de l'OS. Par exemple, vous ne pouvez pas construire pour Windows 8 ou Windows Phone 8 sur Mac OS X, ni pouvez-vous construire pour iOS sur Windows.
55
56# Installer
57
58Paquets Ubuntu sont disponibles dans un PPA pour Ubuntu 13.10 (Saucy) (la version actuelle), mais aussi 14.04 (fidèle) (en cours d'élaboration).
59
60 sudo apt-add-repository ppa:cordova-ubuntu/ppa
61 sudo apt-get update
62 sudo apt-get install cordova-cli
63 npm install -g cordova
64
65
66Pour générer une application pour la plateforme Ubuntu, les paquets supplémentaires suivants sont requis :
67
68 sudo apt-get install cmake debhelper libx11-dev libicu-dev pkg-config qtbase5-dev qtchooser qtdeclarative5-dev qtfeedback5-dev qtlocation5-dev qtmultimedia5-dev qtpim5-dev qtsensors5-dev qtsystems5-dev
69
70
71## Installation du maître
72
73Vous aurez besoin d'installer de la [CLI](https://git-wip-us.apache.org/repos/asf/cordova-cli.git) et [Plugman](https://git-wip-us.apache.org/repos/asf/cordova-plugman.git) de `git`. Exécutant la *version NGP* d'un et *version principale (git)* de l'autre est susceptible de se terminer par vous souffrant.
74
75Pour éviter d'utiliser sudo, voir [sortir de sudo : NGP sans racine](http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears).
76
77Exécutez les commandes suivantes :
78
79 git clone https://git-wip-us.apache.org/repos/asf/cordova-plugman.git
80 cd cordova-plugman
81 npm install
82 sudo npm link
83 cd ..
84 git clone https://git-wip-us.apache.org/repos/asf/cordova-cli.git
85 cd cordova-cli
86 npm install
87 sudo npm link
88 npm link plugman
89
90
91Maintenant le `cordova` et `plugman` dans votre chemin d'accès sont les versions git local. N'oubliez pas de les garder à jour !
92
93## Installation sur Ubuntu
94
95 apt-get install cordova-cli
96
97
98# Mise en route
99
100`Cordova-cli` a une commande globale unique `créer` qui crée de nouveaux projets de Cordova dans un répertoire spécifié. Une fois que vous créez un projet, `cd` dedans et vous pouvez exécuter une variété de commandes au niveau du projet. Totalement inspiré par interface de git.
101
102## Commandes globales
103
104 * `help` afficher une page d'aide avec toutes les commandes disponibles
105 * `create <directory> [<id> [<name>]]` créer un nouveau projet de Cordoue avec option name et id (nom du package, style inverse-domaine)
106
107<a name="project_commands" />
108
109## Commandes de projet
110
111 * `platform [ls | list]` la liste de toutes les plateformes pour lesquelles le projet s'appuiera
112 * `platform add <platform> [<platform> ...]` Ajouter une (ou plusieurs) plateformes comme une cible de génération du projet
113 * `platform [rm | remove] <platform> [<platform> ...]` supprime une (ou plusieurs) cibles de génération de plate-forme de projet
114 * `platform [up | update] <platform>` -met à jour la version de Cordova, utilisée pour la plateforme donnée
115 * `plugin [ls | list]` la liste de tous les plugins inclus dans le projet
116 * `plugin add <path-to-plugin> [<path-to-plugin> ...]` Ajoutez au projet un (ou plusieurs) des plugins
117 * `plugin [rm | remove] <plugin-name> [<plugin-name> ...]` supprimer un (ou plusieurs) des plugins du projet.
118 * `plugin search [<keyword1> <keyword2> ...]` Rechercher dans le registre plugin pour les plugins correspondant à la liste de mots clés
119 * `prepare [platform...]` copie les fichiers dans les plates-formes spécifiés, ou toutes les plateformes. Il est alors prêt pour la construction par `Eclipse`, `Xcode`, etc.
120 * `compile [platform...]` compile l'application dans un fichier binaire pour chaque plateforme ciblée. Sans paramètres, construit pour toutes les plates-formes, sinon génère pour les plates-formes spécifiés.
121 * `build [<platform> [<platform> [...]]]` suivie d'un alias pour `préparer de cordova` `cordova compiler`
122 * `emulate [<platform> [<platform> [...]]]` lancer des émulateurs et déployer des app sur eux. Sans paramètre émule pour toutes les plates-formes, ajoutés au projet, sinon émule les plates-formes spécifié
123 * `serve [port]` , lancer un serveur web local vous permettant d'accéder au répertoire www de la plate-forme sur le port donné (par défaut 8000).
124
125### Indicateurs facultatifs
126
127 * `-d` ou `--verbose` se diriger sur une sortie plus bavarde à votre shell. Vous pouvez également vous abonner à des événements de `log` et de `warn` en garde si vous êtes de votre `cordova-cli` comme un module de nœud en appelant `cordova.on ('log', function() {})` ou `cordova.on ('warn', function() {})`.
128 * `-v` ou `--version` installera imprimer la version de votre `cordova-cli` .
129
130# Structure de répertoires du projet
131
132Une application de Cordova construite avec `cordova-cli` aura la structure de répertoire suivante :
133
134 myApp/
135 |-- config.xml
136 |-- hooks/
137 |-- merges/
138 | | |-- android/
139 | | |-- blackberry10/
140 | | `-- ios/
141 |-- www/
142 |-- platforms/
143 | |-- android/
144 | |-- blackberry10/
145 | `-- ios/
146 `-- plugins/
147
148
149## hooks/
150
151Ce répertoire peut contenir des scripts pour personnaliser les commandes cordova-cli. Ce répertoire existait à `.cordova/hooks`, mais a maintenant été déplacé vers la racine du projet. Tous les scripts que vous ajoutez à ces répertoires seront exécutés avant et après les commandes correspondant au nom de répertoire. Utile pour intégrer vos propres systèmes de construction ou d'intégration avec les systèmes de contrôle de version.
152
153Reportez-vous au Guide de crochets</a> pour plus d'informations.
154
155## merges/
156
157Actifs spécifiques à la plateforme web (fichiers HTML, CSS et JavaScript) sont contenus dans les sous-dossiers appropriés dans ce répertoire. Ils sont déployés durant une `prepare` dans le répertoire approprié du natif. Fichiers placés sous `merges/` remplace les fichiers correspondants dans le `www /` dossier pour la plateforme pertinente. Un petit exemple, en supposant qu'une structure de projet de :
158
159 merges/
160 |-- ios/
161 | `-- app.js
162 |-- android/
163 | `-- android.js
164 www/
165 `-- app.js
166
167
168Après avoir construit les projets iOS et Android, l'application Android contiendra fois `app.js` et `android.js`. Toutefois, l'application iOS ne contiendra qu'un `app.js`, et il sera celle de la `merges/ios/app.js`, la substitution de "commune" `app.js` situé à l'intérieur `www /`.
169
170## www/
171
172Contient des artefacts de web du projet, tels que des fichiers .html, .css et .js. Ce sont vos ressources de l'application principale. Ils seront copiés sur un `cordova préparer` au répertoire www de chaque plate-forme.
173
174### Votre couverture : config.xml
175
176Ce fichier est ce que vous devriez être édition pour modifier les métadonnées de votre application. Toute fois que vous exécutez des commandes de cordova-cli, l'outil va regarder le contenu du `fichier config.xml` et utiliser toutes les informations pertinentes de ce fichier pour définir les informations de l'application native. Cordova-cli prend en charge la modification des données de votre application via les éléments suivants dans le fichier `config.xml` :
177
178 * Le nom d'utilisateur peut être modifié via le contenu de l'élément `<name>` .
179 * Le nom du package (AKA bundle identificateur ou application id) peut être modifié par l'intermédiaire de l'attribut `id` de l'élément de niveau supérieur `< widget >` .
180 * La version modifiable via l'attribut de `version` de l'élément de niveau supérieur `< widget >` .
181 * La liste blanche peut être modifiée en utilisant les éléments `< access >` . Assurez-vous que l'attribut `origin` votre élément de points `<access>` à une URL valide (vous pouvez utiliser `*` comme Joker). Pour plus d'informations sur la syntaxe de la liste blanche, consultez le [docs.phonegap.com](http://docs.phonegap.com/en/2.2.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide). Vous pouvez utiliser de l'attribut `uri` ([BlackBerry propriétaires](https://developer.blackberry.com/html5/documentation/access_element_834677_11.html)) ou `origin` ([conforme aux normes](http://www.w3.org/TR/widgets-access/#attributes)) pour désigner le domaine.
182 * Spécifique à la plateforme préférences peuvent être personnalisés par l'intermédiaire de balises `< preference >` . Voir [docs.phonegap.com](http://docs.phonegap.com/en/2.3.0/guide_project-settings_index.md.html#Project%20Settings) pour obtenir la liste des préférences, que vous pouvez utiliser.
183 * La page d'entrée/départ pour votre application peut être définie via l'élément `<content src>` + attribut.
184
185## platforms/
186
187Plates-formes ajoutées à votre application aura l'application native du projet structures disposées dans ce répertoire.
188
189## plugins/
190
191Les plug-ins supplémentaires seront extraites ou copiés dans ce répertoire.
192
193# Hooks
194
195Les projets créés par cordova-cli ont `before` et `after` les crochets pour chaque [commande de projet](#project_commands).
196
197Il existe deux types de crochets : spécifiques au projet et au niveau du module. Ces deux types d'hameçons recevoir le dossier racine du projet en tant que paramètre.
198
199## Crochets spécifiques au projet
200
201Ceux-ci se trouvent sous le répertoire de `hooks` à la racine de votre projet de Cordova. Tous les scripts que vous ajoutez à ces répertoires seront exécutés avant et après les commandes appropriées. Utile pour intégrer vos propres systèmes de construction ou d'intégration avec les systèmes de contrôle de version. **N'oubliez pas**: faites vos scripts exécutables. Reportez-vous au [Guide de crochets](http://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html#Hooks%20Guide) pour plus d'informations.
202
203### Exemples
204
205 * [ `before_build` crochet pour la compilation du modèle jade](https://gist.github.com/4100866) gracieuseté de [dpogue](http://github.com/dpogue)
206
207## Crochets de niveau module
208
209Si vous utilisez cordova-cli comme un module dans une plus grande demande de **node** , vous pouvez également utiliser les méthodes standards de `EventEmitter` pour attacher aux événements. Ces événements comprennent `before_build`, `before_compile`, `before_docs`, `before_emulate`, `before_run`, `before_platform_add`, `before_library_download`, `before_platform_ls`, `before_platform_rm`, `before_plugin_add`, `before_plugin_ls`, `before_plugin_rm` et `before_prepare`. Il y a également un événement de progression `library_download` . En outre, il y a des saveurs `after_` de tous les événements ci-dessus.
210
211Une fois que vous `require('cordova')` dans votre projet de nœud, vous aurez les `EventEmitter` méthodes habituelles disponibles (`on`, `off` ou `removeListener`, `removeAllListeners`et `emit` ou `trigger`).
212
213# Exemples
214
215## Créer un nouveau projet de Cordova
216
217Cet exemple montre comment créer un projet à partir de zéro, nommé KewlApp avec iOS et le soutien de la plateforme Android et inclut un plugin nommé Kewlio. Le projet va vivre en ~/KewlApp
218
219 cordova create ~/KewlApp KewlApp
220 cd ~/KewlApp
221 cordova platform add ios android
222 cordova plugin add http://example.org/Kewlio-1.2.3.tar.gz
223 cordova build
224
225
226La structure de répertoires de KewlApp ressemble maintenant à ceci :
227
228 KewlApp/
229 |-- hooks/
230 |-- merges/
231 | |-- android/
232 | `-- ios/
233 |-- www/
234 | `-- index.html
235 |-- platforms/
236 | |-- android/
237 | | `-- …
238 | `-- ios/
239 | `-- …
240 `-- plugins/
241 `-- Kewlio/
242
243
244# Qui contribuent
245
246## Exécution de Tests
247
248 npm test
249
250
251## Obtenir des rapports de couverture de test
252
253 npm run cover
254
255
256## To-do + questions
257
258S'il vous plaît vérifier [Cordova questions avec le composant CLI](http://issues.cordova.io). Si vous trouvez des problèmes avec cet outil, veuillez avoir la gentillesse pour inclure des informations pertinentes nécessaires pour déboguer des problèmes tels que :
259
260 * Votre système d'exploitation et version
261 * Le nom de l'application, l'emplacement du répertoire et identificateur utilisé avec `create`
262 * Quel SDK mobiles vous avez installé et leurs versions. Lié à cela : quelle version de `Xcode` , si vous présentez des problèmes associés à iOS
263 * Toute trace de pile d'erreur que vous avez reçu
264
265## Contributeurs
266
267Merci à tous pour leur contribution ! Pour obtenir la liste des personnes concernées, veuillez consulter le fichier `package.json` .
268
269# Problèmes connus et dépannage
270
271## N'importe quel OS
272
273### Paramètres du proxy
274
275`Cordova-cli` utilisera les paramètres de proxy de la `NGP`. Si vous avez téléchargé cordova-cli via `NGP` et derrière un proxy, les chances sont cordova-cli devrait fonctionner pour vous, qu'il utilisera ces paramètres en premier lieu. Assurez-vous que les variables de configuration NGP `https proxy` et le `proxy` sont corrects. Consultez la [documentation de configuration de la NGP](https://npmjs.org/doc/config.html) pour plus d'informations.
276
277## Windows
278
279### Problème ajout d'Android comme une plateforme
280
281Lorsque vous essayez d'ajouter une plateforme sur une machine Windows, si vous rencontrez le message d'erreur suivant : bibliothèque de Cordova pour « android » existe déjà. Pas besoin de télécharger. Continue. Vérifier si la plate-forme « android » passe exigences minimales... Vérification des exigences Android... Exécuter "android liste cible" (sortie à suivre)
282
283 Error: The command `android` failed. Make sure you have the latest Android SDK installed, and the `android` command (inside the tools/ folder) added t
284 o your path. Output:
285 at C:\Users\me\AppData\Roaming\npm\node_modules\cordova\src\platform.js:185:42
286 at C:\Users\me\AppData\Roaming\npm\node_modules\cordova\src\metadata\android_parser.js:50:13
287 at C:\Users\me\AppData\Roaming\npm\node_modules\cordova\node_modules\shelljs\shell.js:1707:7
288 at exithandler (child_process.js:633:7)
289 at ChildProcess.errorhandler (child_process.js:649:5)
290 at ChildProcess.EventEmitter.emit (events.js:95:17)
291 at Process.ChildProcess._handle.onexit (child_process.js:787:12)
292
293
294Exécutez la commande `android list target`. Si vous voyez :
295
296 'xcopy' is not recognized as an internal or external command,
297 operable program or batch file.
298
299
300au début de la sortie de la commande, cela signifie que vous devrez fixer votre variable de chemin d'accès Windows pour inclure xcopy. Cet emplacement se trouve généralement sous C:\Windows\System32.
301
302## Windows 8
303
304Support Windows 8 n'inclut pas la capacité de lancement/run/émuler, donc vous aurez besoin ouvrir **Visual Studio** pour voir votre application en direct. Vous êtes toujours en mesure d'utiliser les commandes suivantes avec windows8 :
305
306 * `platform add windows8`
307 * `platform remove windows8`
308 * `prepare windows8`
309 * `compile windows8`
310 * `build windows8`
311
312Pour exécuter votre application, vous devrez ouvrir le `.sln` dans le dossier de `platforms/windows8` , à l'aide de **Visual Studio 2012**.
313
314**Visual Studio** vous le diront pour recharger le projet si vous exécutez une des commandes ci-dessus, alors que le projet est chargé.
315
316## Amazon Fire OS
317
318Amazon Fire OS n'inclut pas la capacité d'imiter. Vous êtes toujours en mesure d'utiliser les commandes suivantes avec Amazon Fire OS
319
320 * `platform add amazon-fireos`
321 * `platform remove amazon-fireos`
322 * `prepare amazon-fireos`
323 * `compile amazon-fireos`
324 * `build amazon-fireos`
325
326## Ubuntu
327
328La version initiale de cordova-ubuntu ne supporte pas automatiquement créer des applications pour les dispositifs de Portage. Il est possible de produire des applications, puis cliquez sur les paquets en quelques étapes bien.
329
330Ce rapport de bogue documente le problème et les solutions pour cela : https://bugs.launchpad.net/ubuntu/+source/cordova-ubuntu/+bug/1260500 une version ultérieure permettra de développeurs cross-compiler Portage cliquez sur paquets directement depuis un ordinateur de bureau x 86.
331
332## Firefox OS
333
334OS de Firefox n'inclut pas la capacité d'imiter, d'exécuter et de servir. Après construction, vous devrez ouvrir le répertoire de plateforme de `firefoxos` de votre application dans l' [WebIDE](https://developer.mozilla.org/docs/Tools/WebIDE) qui vient avec tous les navigateurs Firefox. Vous pouvez ouvrir cette fenêtre et cliquez sur le bouton « jouer » chaque fois que vous terminé la construction de votre application.
\No newline at end of file