phonegap 理解指南
phonegap 与 cordova
在介绍phonegap目录之前,针对很多开发者对phonegap 和 cordova 的关系一直存在疑问,其实在phonegap 的官网上早有此介绍
链接http://phonegap.com/blog/2012/03/19/phonegap-cordova-and-what-e2-80-99s-in-a-name/
这篇文章的大致内容我总结四点:
-
Cordova 与 phonegap 的关系 就向webkit 与 Safari 和 Chrome 关系
-
在将来phonegap 将可能包含其他的工具
-
phonegap 将永远保持开源免费
-
在目前只是安装包的名字不同,并且会保持一段时间
phonegap 命令内部执行
如果公司内部一直使用phonegap 安装包,你可以将下面命令cordova 替换为phonegap
-
下面创建一个cordova 项目 cordova create hello com.example.hello HelloWorld,成功后我们可以打开 HelloWorld 文件夹,可以看到四个目录和config.xml (具体目录含义从目录名字可以看出)
-
然后我们添加需要的平台一般是 ios 和 android 俩种 cordova platform add ios –save && cordova platform add android –save (注意这一步要在你添加插件之前,具体原因下面将详细叙述)
-
然后我们为(我们刚刚加入的运行平台)加入一个示例插件 cordova plugin add cordova-plugin-camera (cordova 在执行plugin 插件加入的过程中,执行插件内部的plugin.xml 文件,plugin.xml 中 platform 内部命令将会执行,例如 图片所示的插件,如果已经有ios 平台,在执行加入插件的命令的过程中feature 属性将会被拷贝到ios 的target 所对应的”config.xml” 中,资源文件将会被拷贝到项目对应的plugin 文件夹内)

-
然后我们执行 cordova build
<platform>作用,是将 HelloWorld 目录下的www 包与插件内部的 js 融合,加入 cordova.js cordova_plugins.js , 在 platform 下生成新的 www 包
插件错误处理 :插件找不到了 (以ios 为例 其他平台原理类似)
web 端
- 查看 www 中对应的调用方法是否被调用
- 查看 cordova_plugins.js 插件是否被注册
- 如果为插件提供了对应的插件js 文件方便其调用 ,请查看这个插件的js 文件的对应方法是否存在&&被调用 (是否存在 插件js 你可以查看插件的 plugin.xml , 是否存在 js-module)
平台原生端
- 查看 原生代码 config.xml 中是否注册插件
- 查看 插件源码是否被存在,是否参与编译,方法是否被调用
这篇文章主要是想帮助理解一些phonegap 命令,如对具体参数具体含义有所疑问,请参考文档 http://cordova.apache.org/docs/en/latest/guide/cli/index.html
也欢迎email zhaojing19890531@163.com 联系我
