Apache Cordova(Phonegap)开发笔记(一)(2013-02-20 10:20:29)Apache Cordova(Phonegap)开发笔记(一) 想做html5+jquery mobile开发native apps,所以就找来phonegap研究一下,发现phonegap已经改了新名字叫Apache Cordova。大致是adobe收购了phonegap的开发公司nitobi,然后又把phonegap贡献(donate)给了Apache(donated 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,在framework的src下有这个类的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=1caea3438b5ba454cab1ed1d 然后在项目的build path->configure bulid path 下add external jars下引入该jar,红叉消失。 第二个问题是遇到报Failed to allocate memory: 8这个错误(排错的tips:到eclipse的logcat或error log中去找线索,如果不知道怎么打开logcat和error log,请搜索相关文档)。在stackoverflow上搜了一下,原来在c盘的具体用户目录下有一个.android目录,你用AVD manager(Android Virtual Device Manager,具体Android SDK Tools的使用,请参考相关文档)。在你所使用的虚拟设备下有一个config.ini文件
在该文件中找到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的虚拟设备(具体是目前不支持arm和mips,还是别的什么,我还要研究一下)。
以上问题都解决了,可cordova给的例子程序还是起不来。查看控制台,报了一个java.lang.ClassNotFoundException的错误,大致是说HelloWord类找不到。这不是奇了怪了吗? 又检查了一下configure buid path,在order and export页签中,把cordova-2.4.0.jar移到头一个,并check上,回来运行。问题解决。
那么最重要的是:下一步,你怎么用html5+javascript(jquery mobile,Sencha mobile,whatever js)按照你自己的需求开发你自己的native apps呢? 首先cordova给你一个命令行的程序,在展开下载包的bin目录里,就是create命令,执行create可以生成一个html5+javascript的移动应用框架,在www目录下。因为我也试了Xcode下的开发。无论是ios下的还是android下的,cordova在www目录下的这一部分用html5+javascript开发的移动web应用是完全一样的。也就是你以后无论是开发android的移动应用,还是开发ios下的移动应用,都抽象成了用html5+javascript开发移动应用的过程。 另外还要说的是,在Xcode上的开发环境我也试过了,一次成功,比在eclipse上的要简单。但是下载新版(升级)xcode和命令行工具的时间很长。光一个xcode升级就下载了1.6G,命令行工具也有几百兆,在MAC OS上不知道有什么多线程的下载工具? |
|
来自: quasiceo > 《phonegap》