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. MySQL索引原理及慢查询优化(转)

    add by zhj:这是美团点评技术团队的一篇文章,讲的挺不错的. 原文:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰 ...

  2. java性能调优工具

    windows调优工具: 任务管理器(ctrl+alt+delete或).资源管理器(任务管理器->性能进入或运行resmon.exe):JVM分析工具Jconsole,jProfile,Vis ...

  3. Cannot assign requested address出现的原因及解决方案

    今天使用python多线程请求服务时,出现Cannot assign requested address错误 网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很 ...

  4. Android之动画的学习(转载)

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  5. localstorage sessionstorage cookie 备忘

    /* sessionStorage: 保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空: localStorage: 保存的数据长期存在,下一次访问该网站的时候,网页可以直接 ...

  6. JAVA类图

    类与类图 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能, ...

  7. SQL日期格式,转自will哥

    我之前一直認為 SQL Server 針對日期處理的函數不夠多(如果跟 MySQL 比較),尤其是處理日期欄位轉字串的時候,常常因為要輸出特定的格式而懊惱不已,常常一不小心就寫了一長串,很不易閱讀. ...

  8. linux默认网关的设置

    linux装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的ip设法,您知道吗? 1.一块网卡的情况   这个没啥好说的,估计地球人都知道:address,netmask,gatew ...

  9. python生成透时图片and 写文字

    import Image from get_png import getpng def transparent(infile): #open png,covert it into 'RGBA mode ...

  10. 使用Word发布文章到 WordPress 博客

    使用Word发布文章到 WordPress 博客 我们都知道,WordPress 自带的编辑器功能比较弱,而使用 Word 编辑文档却功能强大.其实我们使用 Word 编辑好的文档也是可以直接发布到 ...