A、安装 nodejs
http://nodejs.org/download/
B、安装cordova
npm install -g cordova
C、安装ant
下载ant,并配置环境变量
D、创建 cordova 工程
cordova create alex(本地文件夹名) com.cn.alex(app id) alex(工程名)
创建之后,目录结构如下:
1)目录一览:
alexApp/
|– config.xml
|– hooks/
| | |– before_xxx/
| | `– after_xxx/
|– merges/
| | |– android/
| | `– ios/
|– platforms/
| |– android/
| `– ios/
|– plugins/
| |– org.apache.cordova.console/
| `– org.apache.cordova.device/
|– www/
| |– css/
| |– img/
` |– js/
`– index.html2)config.xml
cordova的配置文件3)hooks 目录
存放自定义 cordova 命令的脚本文件。每个 project 命令都可以定义 before 和 after 的 Hook,比如:before_build、after_build
Hook可以采用任何编程语言来写,Cordova CLI采用的是Node.js,所以一般都是用它来写。
这里提供了3个常用的 Hook 脚本:
http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/4)merges目录
存放各个平台特殊的文件,会和www进行合并编译,相同的文件merges下的文件优先。
比如:
引用
merges/
|– ios/
| `– app.js
|– android/
| `– android.js
www/
`– app.js
编译成 iOS 应用的话,包含 merges/ios/app.js;而 Android 应用的话,包含 www/app.js、 merges/android/android.js5)platforms 目录
各个平台的原生代码工程,尽量不要手动修改,因为在 build 的时候会被覆盖。6)plugins 目录
插件目录(cordova提供的原生API也是以插件的形式提供的)。7)www 目录
源代码目录,在cordova prepare的时候会被copy到各个平台工程的assets\www目录中。
index.html为应用的入口文件。
E、进入文件夹alex
cd alex
F、添加app应用的平台
$ cordova platform add ios
$ cordova platform add amazon-fireos
$ cordova platform add android
$ cordova platform add blackberry10
$ cordova platform add firefoxos
$ cordova platform add wp7
$ cordova platform add wp8
$ cordova platform add windows8
添加之前,必须已经安装过对应平台的开发环境。比如:add ios 前提安装过xcode
G、添加插件
通常为硬件访问的插件,如相机、媒体访问、设备访问、加速设备、定位设备等。
插件可以去cordova官方插件库下载,也可以针对需求自行按标准开发。
基本设备资讯 (设备 API):
$ cordova plugin add org.apache.cordova.device
网路连接和电池事件:
$ cordova plugin add org.apache.cordova.network-information
$ cordova plugin add org.apache.cordova.battery-status
加速度计、 指南针、 和地理定位:
$ cordova plugin add org.apache.cordova.device-motion
$ cordova plugin add org.apache.cordova.device-orientation
$ cordova plugin add org.apache.cordova.geolocation
相机、 媒体重播和捕获:
$ cordova plugin add org.apache.cordova.camera
$ cordova plugin add org.apache.cordova.media-capture
$ cordova plugin add org.apache.cordova.media
访问设备或网路 (档 API) 上的档:
$ cordova plugin add org.apache.cordova.file
$ cordova plugin add org.apache.cordova.file-transfer
通过对话方块或振动发出通知:
$ cordova plugin add org.apache.cordova.dialogs
$ cordova plugin add org.apache.cordova.vibration
连络人:
$ cordova plugin add org.apache.cordova.contacts
全球化:
$ cordova plugin add org.apache.cordova.globalization
闪屏:
$ cordova plugin add org.apache.cordova.splashscreen
打开新的浏览器视窗 (InAppBrowser):
$ cordova plugin add org.apache.cordova.inappbrowser
调试主控台:
$ cordova plugin add org.apache.cordova.console
查看当前应用已安装的插件:
$ cordova plugin ls # or ‘plugin list’
[ ‘org.apache.cordova.console’ ]
删除已安装的插件:
$ cordova plugin rm org.apache.cordova.console
$ cordova plugin remove org.apache.cordova.console # same
通过多个参数增加或删除插件:
$ cordova plugin add org.apache.cordova.console org.apache.cordova.device
具体可参考这里:
http://docs.phonegap.com/zh/3.4.0/guide_cli_index.md.html
H、BUILD
cordova build
或
cordova build XXX(具体的平台,如:cordova build android、cordova build ios)
会在程序中,构建对应的www目录。
I、运行
在模拟器上运行
cordova emulate android(如android平台,应先将 android 模拟器启动并打开。)
使用真机运行
cordova run android
浏览器中运行
cordova serve android
J、打包
本地打包(需要安装配置对应平台开发环境)
cordova build android –release
phonegap 在线打包
https://build.phonegap.com/
新浪 sae 云窗调试器
http://sae.sina.com.cn/doc/mobile/tutorial.html
eclipse中打包
提前安装配置好 SDK和ADT ,使用eclipse向导导入一个 android 项目的方式,选择当前工程文件夹,此时会显示导入两个项目,导入即可。
K、常用命令
(1)create <directory> [<id> [<name>]]
创建一个cordova工程,id为package名。
(2)platform [ls | list]
列出该工程支持哪些平台
(3)platform add <platform> [<platform> …]
为工程添加一个或多个平台支持
(4)platform [rm | remove] <platform> [<platform> …]
删除该工程的某个平台支持
(5)platform [up | update] <platform>
更新该工程某个平台的Cordova版本
(6)plugin [ls | list]
列出该工程包含哪些插件
(7)plugin add <path-to-plugin> [<path-to-plugin> …]
为工程添加一个或多个插件
(8)plugin [rm | remove] <plugin-name> [<plugin-name> …]
从该工程中删除某个插件
(9)plugin search [<keyword1> <keyword2> …]
根据关键字从registry中搜索插件
(10)compile [platform…]
编译指定平台的app包
(11)build [<platform> [<platform> […]]]
先做prepare(拷贝文件)后做compile
(12)emulate [<platform> [<platform> […]]]
启动模拟器运行应用
(13)serve [port]
启动本地web服务来访问www,默认端口是8000platform和platforms等价
plugin和plugins等价
详细的内容可以通过cordova help命令查看。

207

被折叠的 条评论
为什么被折叠?



