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. vi、vim 查找替换

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  2. MVC中Control和View之间数据传递的方式

    1:ViewBag和ViewData 具体区别不做讨论,本处只演示ViewData的具体示例: Controler代码:ViewData["Employee"] = emp; Vi ...

  3. web.config中的HttpCookie.HttpOnly属性

    Abstract: The program does not set the HttpCookie.HttpOnly property to true. Explanation: The defaul ...

  4. C++拼接字符串

    例如: 在"/data/misc/media/out.yuv"后面添加序号操作,并输出在path char path[128] = {0}; int Num=this->mN ...

  5. javascript判断对象

    var assert = require('chai').assert; describe('Array', function() { describe('#indexOf()', function( ...

  6. RabbitMQ消息队列1: Detailed Introduction 详细介绍

    1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有 ...

  7. 9.1 js基础总结2

    3.布尔类型(Boolean) 布尔型数据只有true和false两个值,与字符串不同,不要把布尔值用引号括起来,布尔值false与字符串“false”是两回事. var married = true ...

  8. Unix调试工具dbx使用方法

     dbx 命令 用途 提供了一个调试和运行程序的环境. 语法 dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Dire ...

  9. webSocket详解

    WebSocket 实战http://www.ibm.com/developerworks/cn/java/j-lo-WebSocket/index.html 转自IBMdeveloperWorks ...

  10. EMIF接口的寻址问题

    2014年8月26日,一个网友提出了一个关于EMIF访问地址很典型的问题,在此我阐述一下我的个人理解. 一.提出问题 他问的问题没有这么简单,但是差不多就是这种意思,我在晚上找个典型事例,如下: DS ...