体验phonegap3.0
网上有各种各样的phonegap环境搭建资料,鉴于学习和整理的考虑,我还是把我搭建的过程整理出来
这篇文章中将涉及到的内容
PhoneGap环境需要的组件
Node环境
JDK
Android SDK
ADT
ANT
命令行安装phonegap
命令行安装
创建项目
windows下android环境搭建
疑难问题
参考资料
Phonegap环境需要的组件
node环境
http://phonegap.com/install/直接安装即可
JDK环境
主要涉及到环境变量的设置:ClassPath中添加 ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Android SDK
参考 http://developer.android.com/sdk/index.html#download
新建

Path中添加 ;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;
ClassPath中添加;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;
ADT
ADT的功能是建立eclipse与android sdk的关联,使得在eclipse中可以建立android项目。
ANT
参考地址: http://ant.apache.org/bindownload.cgi
下载文件放到指定目录下,在环境变量中,设置目录即可

classpath 中添加 ;%ANT_HOME%\lib\ant.jar;
path 中添加 ;%ANT_HOME%\bin;
验证命令:
cmd下执行 ant,出现以下界面标识安装成功。

命令行安装phonegap
安装phonegap有两个命令,npm install -g phonegap 和 npm install -g cordava,按道理说这两个命令使用一个就行了,实际上还是有些问题。
执行npm install -g phonegap 安装完以后在 在登录用户的特定位置会产生两个文件夹 npm和npmcache
我的环境下的位置
C:\Users\Administrator\AppData\Roaming\
这两个文件夹可以作为安装成功与否的辅助验证。
如果以上两个安装命令都执行的话,会出现以下两个文件夹依次对应。安装完成后,在 C:\Users\Administrator\AppData\Roaming 路径下,会出现npm-cache 和npm两个文件夹,这就是phonegap安装文件所在。

创建项目
phonegap的命令行工具,我的理解是有两套,phonegap开始以及 cordova。我在实际使用中发现,phongap命令不是很靠谱,因此折腾了好长时间。之后就使用cordova了。
比如:创建项目 可以用 cordava create <projectName> 也可以使用 phonegap create <projectName>

生成一个默认的phonegap项目

之后是 在项目中加入android平台。

加入成功后,在platforms文件夹下会生成android文件夹,这样用android IDE工具就可以引进这个android项目进行开发了,实际上phonegap的功能也主要体现在这里,之后的工作就在Android IDE 即eclipse中进行。
windows下android环境搭建
以下是一个简要的关联图解

疑难问题
1 虽然安装了android sdk,但是执行phonegap install android 或者 phonegap build android时,还是在检测android sdk环境

最终这个问题没有解决,但是我通过cordova 命令创建项目,加入android平台也实现了功能。这个问题还需要以后慢慢研究。
2 document.addEventListener("deviceready", onDeviceReady, false);
这句话是针对手机/平板设备有用的.所以在浏览器里不会执行。
正确的写法是
if(!window.device){
$(document).ready(onDeviceReady);
}
else{
document.addEventListener("deviceready", onDeviceReady, true);
console.log('===>> document.addEventListener');
}
参考资料
PhoneGap 3.0发布:新API、更好的工具以及多平台支持
ant安装、环境变量配置及验证
PhoneGap 在 Android 上的插件开发方法介绍
关于Phonegap,存在跨域吗?
提及到jQuery默认对跨域请求有一定的限制。于是就找到了代码:$.support.cors = true;
体验phonegap3.0的更多相关文章
- [转]phoneGap3.0安装步骤(以windows下的android环境为例):
phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) ...
- 体验Hadoop3.0生态圈-CDH6.1时代的来临
体验Hadoop3.0生态圈-CDH6.1时代的来临 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我在公司使用的是CDH5.15.1这个发行版本,具体的部署文档之前也有给大家分享 ...
- windows7下安装配置phonegap3.0 (cordavo)开发环境 (涉及android sdk配置)
之前在mac上安装调试过phonegap,现在公司用的是windows7,所以不得不再进行一次windows下的配置工作,顺便也写下来了 主要麻烦的地方是要在win7下添加好几个环境变量,这一块地方特 ...
- Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
最近突然想弄一下phonegap,之前一直是听说,没亲自配置开发过.结果配置过程非常艰难啊.特别是android平台的配置,那叫一个麻烦,网上搜了半天都没找到非常好的资料.文章也都是抄来抄去,最烦的就 ...
- SparkR初体验2.0
突然有个想法,R只能处理百万级别的数据,如果R能运行在Spark上多好!搜了下发现13年SparkR这个项目就启动了,感谢美帝! 1.你肯定得先装个spark吧.看这:Spark本地模式与Spark ...
- 《从LFS到自己的Linux发行版》系列教程:一步到位体验LFS11.0
目录 前言 第一节:LFS 准备工作 第二节:一步完成你的 LFS11.0 第三节:开启你的 LFS 系统 结语 前言 如果你把从源代码开始编译构建一个操作系统的工作当成厨师做一桌菜的话,Lin ...
- phonegap3.0+HTMLl5 开发 ipad app 总结
忙碌了一段时间,终于完成了手上的这个ipad上的app ,app是用phonegap+ jquery mobile 开发的,不是用原生的objective c开发的.因为app有许多chart的渲染, ...
- 分布式NoSQL数据库MongoDB初体验-v5.0.5
概述 定义 MongoDB官网 https://www.mongodb.com/ 社区版最新版本5.0,其中5.2版本很快也要面世了 MongoDB GitHub源码 https://github.c ...
- phonegap3.0 simple
environment: window8(64bit) First you go to the phonegap site and install it. note that installing y ...
随机推荐
- tp框架之文件上传
控制器 function wenjian() { if(empty($_FILES)) { $this->display(); } else { $u = new \Think\Upload() ...
- (3)WebApi客户端调用
1.创建一个应用台控制程序,可以把Model的引用,用下面的方法拖拽上来(解决方案里没有这个文件,只是这个文件的引用) 2.Program.cs using System; using System ...
- [译]:Xamarin.Android开发入门——Hello,Android深入理解
返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...
- FZU 2137 奇异字符串 后缀树组+RMQ
题目连接:http://acm.fzu.edu.cn/problem.php?pid=2137 题解: 枚举x位置,向左右延伸计算答案 如何计算答案:对字符串建立SA,那么对于想双延伸的长度L,假如有 ...
- 开发常用技巧之css字体编码
简介: 当我们写css时,通常需要设置字体名称,我们可以直接写中文,这样没错,但是文件编码为GB2312.UTF-8等不匹配将会出现乱码.因此将中文字体名称转为unicode编码来避免出现这些错误. ...
- retrofit2的get和post
get: 例: @GET("room/question_focus") Call<BaseResponseEntity> followQuestion(@Query(& ...
- python学习6 web开发
wsgi自带,用语构建简单服务器 例子 from wsgiref.simple_server import make_server def index(env, res): res('200 ok', ...
- Unity.Interception(AOP)
在前面我们学习到的是Unity依赖注入(DI)与统一容器来松散耦合,这个设计已经对我们系统带来了很多的好处.但是我们还会想尝试和遵循单一职责,开放封闭原则.比如我们不应该在我们的Bus ...
- mybatis多表查询
1.在类的属性里定义另一个关联类,在mapper.xml里写result-mapper加association 2.表很多的话,可以在数据库里建视图view,把不同表里需要的字段写到一张视图里 写po ...
- mac-改造你的terminal
今天在知乎上看到了一篇关于<程序员如何优雅使用Mac>,里面介绍了不少Mac的高端使用技巧,其中关于terminal的部分更是深深的吸引了我,于是我也开始了我的terminal改造计划. ...