1.安装
这里推荐用npm安装cordova,至于npm的安装,网上有很多的。打开命令行,输入
npm install -g cordova
这里就安装了好了最新版的cordova,虽然绝大多数会成功,但预防下不成功的情况,推荐搜索npm镜像,利用镜像安装。
cordova是利用ant打包的,所以你必须要安装ant并且配置安装环境。
如果你想打包android项目,本地需要有一份android的SDK,并且配置好环境变量,当然cordova提供了远程下载androidSDK的方式(呵呵,我没用过)。
2.使用
1.创建项目
命令行进入工作空间,输入
cordova create hello com.test.hello "Hello"
这里第一个参数会创建一个项目文件夹,第二个是包名,第三个参数,是项目的名字。现在cordova会生成相应的目录,现在进入hello里可以看到
这里说明一下,www这个文件夹存放各个平台共同所需的文件,
merges下可以建立各个平台的文件夹 如建立android文件夹,可以再其中存放android平台所必须的文件,
plugins存放的是插件,platforms里面是各个平台具体的项目,但现在什么都没有,因为我们还没添加平台。
2.添加插件
进入hello目录,输入命令
cordova plugin add org.apache.cordova.battery-status
这里例子是添加了电池状态插件,相应的插件你可以在 这里 查看。当添加插件成功的时候,你可以到plugins里看到相关的文件夹,当然这样添加插件的方式都是官方插。
cordova plugin ls
这条指令可以在命令行查看添加的插件
(2014-04-23 14:00:14 尽量把所有的插件都添加进去吧,因为保不准就要了,rebuild太烦了)
3.添加平台
输入命令
cordova platform add android
这里就添加了android平台,cordova会寻找www下面的文件,merges下的 android文件夹下的文件,再加上plugins,共同生成android项目。如下图所示
如果之前你有在www文件夹以及merges文件夹下新建的android文件夹里添加内容,那么你在assets的www里会发现多了相应的文件。
这里讲一下assets里的www文件夹下的cordova_plugins.js文件,你会发现在index.js并没有引用这个文件,但是在运行时却可以使用,实际上cordova采用了模块化加载的东东,运行时,cordova会自动寻找插件,把它们一一添加进来,如果了解了cordova插件的加载机制对编写第三方插件很有帮助的。
4.build
输入指令
cordova build android
ant会自动build项目,然后就可以快乐的用Eclipse加载这个项目了,可能会再加载另一个叫**cordovaLib的项目。如果提示缺失***cordovaLib之类的,就把加载的第二个项目引用下,或者把它给导成jar文件。
当然,你可以在虚拟机下查看,输入指令
cordova emulate android
或者直接在网页里查看,查看时会弹出窗口,一律选否,这是因为加载了cordova.js原因,你可以选择在index隐掉,也可以选否,然后禁用,这样就可以不用烦了。
cordova serve
请注意你的代码需要存放在platforms的外部,因为cordova会从外部的www以及merges里取相应的文件,重新编译,如果你是写在platforms里的android中,cordova会覆盖掉你写的,个人亲身经历,写了好多代码,结果一下被覆盖了,幸亏在执行命令前,感觉会出事,就备份了下。万幸啊
这里就教导我们把代码写在最外面的www里,不要写在platforms下面,虽然我一直是写在platforms下面,不过执行了这个指令后把我吓到了,既然是错误那就要改正。
5.经验
多看官方网站cordvoa或者phonegap指令部分,我列举的只是部分,更多你可以查看官方文档。
至于为什么两个网站,这是因为cordova的原名是phonegap,这是一段历史,有兴趣的可以谷歌。
第三方插件,官网有简单教程,但感觉不足,最好看一个官方实现,这样你就可以仿写了,如果你实在不懂,那就到处找吧,插件要求要懂各个平台的编程的。
还有各个平台的开发最好知道点,不要以为cordova是万能的,它只是给你跨平台的能力,如果你对什么都一无所知,很可能会碰一鼻子灰。
cordova没什么困难的,就是一些配置,真正难的还是如何编写适应各种手机的代码,以及学习各个平台开发的技术。
http://cordova.apache.org/http://cordova.apache.org/