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/

Cordova系列(一)的更多相关文章

  1. Cordova 系列之Mac OS 环境配置

    1.从AppStore 安装xcode 2.安装node.js环境 http://nodejs.org/ 3.使用命令行安装 cordova 命令行帮助:http://cordova.apache.o ...

  2. Cordova 系列之创建一个iOS项目

    1.打开终端 2.输入命令 $ cd Desktop (PS:Desktop表示放在桌面,你可以选择放任意位置) 3.$  cordova create HelloWorld com.example. ...

  3. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  4. Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息

    详情请看:Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息 在项目中需要获取到当前设备,例如手机的ID,联网状态,等,然后这个Cordova里有这个插件可以用, ...

  5. Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html

    Cordova入门系列(三)Cordova插件调用   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...

  6. Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html

    Cordova入门系列(二)分析第一个helloworld项目   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...

  7. Cordova入门系列(四)自定义Cordova插件--showToast

    前三篇Cordova入门系列,简单讲解了Cordova,以及如何调用Cordova插件,今天我们讲解一下如何自己做一个插件. 自定义插件,就是自己写一些安卓java代码,然后和js代码以及配置文件,封 ...

  8. Cordova Android源代码分析系列一(项目总览和CordovaActivity分析)

    版权声明:本文为博主offbye西涛原创文章.未经博主同意不得转载. https://blog.csdn.net/offbye/article/details/31776833 PhoneGap/Co ...

  9. Cordova探险系列(三)

    自从3.0之后.Cordova默认是关闭全部关于设备原生特性功能的,所以我们要通过加入插件来启动原生特性. 这里以Accelerometer(加速度感应器)为例,来学习怎样使用设备原生特性. 1.加入 ...

随机推荐

  1. index()、e.target.value、on()与快捷处理的区别、

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Leetcode5:Longest Palindromic Substring@Python

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...

  3. 过渡transitioin

    一,什么是过渡(transition)? 1,transition 允许 CSS 元素的属性值在一定的时间区间内平滑地过渡. 2,可以在不使用 Flash 动画或 JavaScript 的情况下,在元 ...

  4. closest应用(向上查找最近的资料)

    //新增网址信息function AddSitInfo(a) {    var obj = $(a).closest("td[name='POIRestaurant_Reference_UR ...

  5. MongoDB是一个介于关系数据库和非关系数据库之间的产品

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.M ...

  6. MATLAB 文件对话框之图片格式转换

    localpathname为当前路径,需要保存图片的位置,根据自己的实际路径设置,usedpathname用来保存打开的文件位置,方便下次打开文件对话框以上次的路径为默认路径. global used ...

  7. java spring hibernate

    spring 如果配置让MultiActionController里的方法返回ModelAndView跳转到页面上 ****************************************** ...

  8. [转]Redmine 配置163邮箱

    redmine的邮件发送功能还是很有用的.像项目有更新啦,任务分配啦,都能邮件发送的相关责任人.我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了.查了网上的资料,都是讲修改下 ...

  9. linux autoload service create

    ---恢复内容开始--- EXEC="php-fpm" stop(){ echo "Stoping $EXEC ..." ps aux | grep " ...

  10. CSS解决高度自适应问题

    HTML结构如下: <div id="main">     <div id="top">top</div>     < ...