分享

Apache Cordova(Phonegap)开发笔记(一)

 quasiceo 2013-11-15

Apache Cordova(Phonegap)开发笔记(一)

(2013-02-20 10:20:29)

Apache CordovaPhonegap)开发笔记(一)

 

想做html5+jquery mobile开发native apps,所以就找来phonegap研究一下,发现phonegap已经改了新名字叫Apache Cordova。大致是adobe收购了phonegap的开发公司nitobi,然后又把phonegap贡献(donate)给了Apachedonated the PhoneGap codebase to the Apache Software Foundation (ASF) for incubation)。

今天从getting started开始学,就学了这么一点,就遇到了一大堆问题,记录如下,帮助后来者节省时间。

先说Android,我的环境是windows 7

我按照这个链接的教程开始做:

http://docs./en/2.4.0/guide_getting-started_android_index.md.html#Getting Started with Android

 

 

遇到的第一个问题是,用命令行create生成新项目后,用eclipse打开时项目上有红叉,打开看是import org.apache.cordova.*; cannot be resolved.找了一下下载的cordova2.4.0,在frameworksrc下有这个类的java源代码。然后尝试用ant jar命令把它编译成jar文件包,但试了若干次都不成功,报的错误是error symbol。于是不得不在网上搜到了cordova-2.4.0.jar文件,还真找到了。链接如下:

http://code.google.com/p/fmcafe/source/browse/src/android/libs/cordova-2.4.0.jar?r=1caea3438b5ba454cab1ed1d9a3f51ba95d7b640

然后在项目的build path->configure bulid path add external jars下引入该jar,红叉消失。

 

第二个问题是遇到报Failed to allocate memory: 8这个错误(排错的tips:eclipselogcaterror log中去找线索,如果不知道怎么打开logcaterror log,请搜索相关文档)。在stackoverflow上搜了一下,原来在c盘的具体用户目录下有一个.android目录,你用AVD managerAndroid Virtual Device Manager,具体Android SDK Tools的使用,请参考相关文档)。在你所使用的虚拟设备下有一个config.ini文件

 

Apache <wbr>Cordova(Phonegap)开发笔记(一)

在该文件中找到hw.ramsize=1024,改成hw.ramsize=1024MB。对,加个MB。具体为什么,不知道,应该是开发者的疏忽。因为我用的是API 16,对应的是Android 4.1.2的虚拟机,我猜用API 17(对应的是Android 4.2)的虚拟机就没这个问题了。

另外还必须注意的是,如图,你必须首先用Android SDK Tools把如图的两个包安装了。第一个包是显而易见的,应为cordova的文档里明确说了需要intel x86的虚拟设备,所以你的AVD一定是在intel x86的虚拟设备(具体是目前不支持armmips,还是别的什么,我还要研究一下)。

cordova学习笔记2.png

 

以上问题都解决了,可cordova给的例子程序还是起不来。查看控制台,报了一个java.lang.ClassNotFoundException的错误,大致是说HelloWord类找不到。这不是奇了怪了吗?

又检查了一下configure buid path,在order and export页签中,把cordova-2.4.0.jar移到头一个,并check上,回来运行。问题解决。

 

cordova学习笔记3.png

 

那么最重要的是:下一步,你怎么用html5+javascriptjquery mobile,Sencha mobile,whatever js)按照你自己的需求开发你自己的native apps呢?

首先cordova给你一个命令行的程序,在展开下载包的bin目录里,就是create命令,执行create可以生成一个html5+javascript的移动应用框架,在www目录下。因为我也试了Xcode下的开发。无论是ios下的还是android下的,cordovawww目录下的这一部分用html5+javascript开发的移动web应用是完全一样的。也就是你以后无论是开发android的移动应用,还是开发ios下的移动应用,都抽象成了用html5+javascript开发移动应用的过程。

 

另外还要说的是,在Xcode上的开发环境我也试过了,一次成功,比在eclipse上的要简单。但是下载新版(升级)xcode和命令行工具的时间很长。光一个xcode升级就下载了1.6G,命令行工具也有几百兆,在MAC OS上不知道有什么多线程的下载工具?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多