代码改变世界

PhoneGap 3.4 开发配置及问题

2014-07-08 11:01    阅读(405)  评论(0编辑  收藏  举报

PhoneGap这个坑爹货,开发确实迅速,又无需学习新知识,但又有N多深不见底坑,最大的坑无疑是性能,滑动时卡顿明显,iPhone5上性能比较好,大部分安卓上就坑爹了,神马动画效果最好少用;其次是不同平台上还是会出现有差异,不用品牌的安卓机有时也会有差异;但最深的坑是安卓平台和iOS平台的浏览器本身不完善,Google正打算用Chrome替代原生浏览器,PhoneGap应用在PC端Chrome和FF浏览器上调试的好好的,放到手机上可就不一定都正常了。

配置开发环境

安装就不多说了,按官网在node.js中安装,有时速度慢点,还会失败,多试几次直到成功即可。

然后在Windows上执行总是提示报错,那是需要Java和Ant环境,Ant可去apache官网下个最新的Ant包,解压到你指定目录,然后将安装写为脚本:

SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51

SET ANT_HOME=D:\Android\apache-ant-1.9.4

path = %path%;D:\Android\adt-bundle-windows\sdk\platform-tools;D:\Android\adt-bundle-windows\sdk\tools;D:\Android\apache-ant-1.9.4;D:\Android\apache-ant-1.9.4\bin

cordova create ebbs com.eruipan.ebbs "ebbs"
cd ebbs
cordova platform add android
cordova platform add ios

cordova plugin add org.apache.cordova.device-orientation
cordova plugin add org.apache.cordova.geolocation
cordova plugin add org.apache.cordova.network-information
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.camera
cordova plugin add org.apache.cordova.dialogs
cordova plugin add org.apache.cordova.file
cordova plugin add org.apache.cordova.file-transfer

cordova build

还是摸索了许久,编译时遇到各种报错,基本上遇到的问题都包含在这个脚本中,我逐一做一下说明:

SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51  --设置JDK的路径(请先自行安装JDK)

SET ANT_HOME=D:\Android\apache-ant-1.9.4 --设置Ant的路径(貌似也可以不设,因为下面Path中设了)

path = %path%;D:\Android\adt-bundle-windows\sdk\platform-tools;D:\Android\adt-bundle-windows\sdk\tools;D:\Android\apache-ant-1.9.4;D:\Android\apache-ant-1.9.4\bin --设置Path,加需要的工具路径都加上,主要是adt的tools和Ant的路径一定要设,否则报错。

cordova create ebbs com.eruipan.ebbs "ebbs" --在当前目录下建立一个ebbs的目录,并建立一个命名空间为com.eruipan.ebbs的项目"ebbs"
cd ebbs --进入刚才建立的目录
cordova platform add android --增加android平台的基础源码
cordova platform add ios --增加ios平台的基础源码

-- 以下是增加各种PhoneGap的插件,有了插件功能才可以用,如果出现net报错,那是因为网络不好,要多试几次,最好手动分开安装,确保每个插件都成功装上,有时1次就成功,有时装1天也是报网络错误,非常坑爹!

-- 插件自行选择安装,不用就可以不装,这里只是本项目必须的,具体看官网说明
cordova plugin add org.apache.cordova.device-orientation
cordova plugin add org.apache.cordova.geolocation
cordova plugin add org.apache.cordova.network-information
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.camera
cordova plugin add org.apache.cordova.dialogs
cordova plugin add org.apache.cordova.file
cordova plugin add org.apache.cordova.file-transfer

-- 这个是重新建立各平台项目的,项目源码有更新时才有用,如果手动在各平台上管理源码就可以不执行这个
cordova build

最后还想吐槽一下js点击事件,用浏览器或模拟器怎么调怎么正常,在android上就各种出现莫名其妙2次点击,绑定事件时莫名自动触发事件,点下一页会点到跳转页面的链接进入3级页,点击浮动层会穿透点击到下层被遮住的按钮、链接,浮动层绑定关闭事件直接就触发等等,非常烦人...

遇到上诉问题,这里提供一个解决方案,貌似只能用setTimeout来延迟绑定事件才能解决,遇到者可以试试。