移动应用实战(移动OA)之七_生成Android手机APP之二
本节,我们来关注使用PhoneGap生成Android手机APP。
一、PhoneGap背景知识
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用。
业界很多主流的移动开发框架均源于PhoneGap。较著名的有Worklight、appMobi、WeX5等;其中WeX5为国内打造,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Native app的性能,同时开发便捷性也较好。
后来,PhoneGap把它的源代码贡献给了Apache,Apache将它命名为Cordova项目。
二、PhoneGap安装
1. PhoneGap的安装需要借助Node.js,所以请先安装Node.js。
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
访问Node.js官网下载:
https://nodejs.org/en/
点击左边的那个链接,这是稳定版,右边的是最新版。该网站会自动判别你的操作系统类型。
2. 使用Node.js安装PhoneGap。
我的操作系统是Windows,下载到的Node.js是个msi安装包,安装完成后,在开始菜单中出现Node.js程序组。
打开Node.js程序组中的“Node.js command prompt”,打开一个命令窗口。
输入命令:
npm -install -g phonegap:该命令可以安装PhoneGap。
这种安装方式让我想到linux中的yum install命令,同样可以安装linux软件包。
后来我一查,果然npm就是Node.js的包管理和分发工具,利用它可以得到PhoneGap。
三、使用PhoneGap创建Android应用程序
1. 使用create命令创建PhoneGap项目
命令格式:
phonegap create [项目名]
PhoneGap项目是跨平台的,根据需要再生成相应平台的项目代码。
下例中,我想在D:\oa文件夹下创建PhoneGap项目,所以先切换到D:盘,再执行:phonegap create oa。
生成了D:\oa文件夹,内容如下:
2. 使用run命令创建相应平台的项目代码
命令格式:
phonegap run android
该命令创建Android平台的项目代码,并调用模拟器运行。同理,也可以创建ios平台的项目代码。
在运行此命令前,要先切换到PhoneGap项目中:
运行该命令前,platforms文件夹没有内容,执行该命令后,platforms文件夹中出现了android文件夹,并生成了Android平台的项目代码:
3. 运行phonegap命令前的准备
在运行phonegap命令前,需要做如下准备工作:
(1) 将JDK升级到1.8以上,并配置环境变量
卸载原有的低版本JDK,安装JDK1.8,并重新配置JAVA_HOME和PATH:
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_111
PATH:加上%JAVA_HOME%\bin
(2) 配置Android环境变量
ANDROID_HOME:G:\adt-bundle-windows-x86-20140702\sdk
PATH:加上%ANDROID_HOME%\tools,加上%ANDROID_HOME%\platform-tools
(3) 配置Ant环境变量
Ant是一个代码生成工具,在ADT Bundle自带的eclipse中有这个工具。
环境变量配置如下:
ANT_HOME:G:\adt-bundle-windows-x86-20140702\eclipse\plugins\org.apache.ant_1.8.3.v201301120609
PATH:加上%ANT_HOME%\bin
这样应该就可以了。
还有一个小问题,我在运行“phonegap run android”命令时,可以生成Android应用程序的代码,但无法运行模拟器,提示如下:
这个问题我先记录一下,反正项目代码已经创建了,有空时再来解决这个问题。
四、在eclipse中导入Android项目
打开eclipse,使用菜单:File->Import...->Android(Existing Android Code Into Workspace)导入Android项目。
指向刚才生成的oa目录,会发现有两个项目需要导入,一个是Android项目,一个是依赖的Cordova库,都导进来。
让eclipse解析一会儿后,项目显示正常。
更新assets下的www目录,可以修改手机网站中的内容。
我把www目录的原有东西都删了,把我做的网站内容拷进去。
在真机上运行,成功!