配置应用程序环境
在开始配置环境之前, 首先准备好jdk, ant, Android SDK, phonegap这些工具. 如图:
这里我分别使用的是Phonegap 2.3.0版本和1.8.4的ant, 最新版本的jdk.
首先安装好jdk, 双击jdk.exe之后按照默认提示安装即可, 这样会自动安装到系统盘(我的系统是C盘)的C:Program Files/Java目录中.
对于Apache ant和Android SDK我们解压即可使用. 在这里建议将这两个工具解压放置于一个单独的目录中. 例如我这里在E盘新建了一个build目录来存放这两个软件:
安装准备好相关软件之后, 为了能够支持在系统命令行中使用对应的命令构建应用程序, 我们还需要配置环境变量. 首先是配置JAVA_HOME[可选的].
如图, 首先找到jdk安装目录并复制完整路径:
接下来我们在系统属性的环境变量中为系统变量新增一个名为JAVA_HOME的系统变量并将刚才复制的jdk安装路径作为它的值, 然后按确定保存这个配置. 如图:
配置好JAVA_HOME之后, 接下来配置Path变量. 在系统变量中, 已经自动有一个Path变量, 我们只需要给他添加相关的值即可. 多个值之间使用分号(';')分割. 我们先将JAVA_HOME中的bin目录添加到Path变量中, 如图:
注意这里的%JAVA_HOME%其实就是一个对于我们刚才完成的JAVA_HOME变量配置的引用, 这主要是方便在不同版本之间的jdK之间进行版本管理. 比如我们安装了不同版本的jdk, 我们只需要修改JAVA_HOME变量即可. 对于为什么将jdk的bin目录添加到Path中稍候解释.
接着我们分别定位到ant的bin目录和Android sdk的sdk\tools目录中并复制完整的路径, 然后分别添加到Path变量中, 如图:
最后我们保存好这些变量配置就初步的搭建好了构建的环境.
这里解释一下为什么分别配置这几个目录到Path变量中, 如果你分别进入到刚才我们配置到Path变量中这几个目录(分别是jdk的bin目录, ant的bin目录以及Android sdk的sdk/tools目录), 你会发现在这些目录中会有一些.exe, .bat, .cmd格式的可运行的文件. 我们将其配置到Path变量中便是方便在系统命令中以命令行的方式使用这些相关的程序. 具体可自行查询资料.
配置好以上环境之后, 我们最后来看一下如何使用Phonegap. 将下载好的Phonegap包解压会发现, 里面分别有针对不同平台的包文件, 如图:
正如标题所示, 对于Android平台, 我们只需要使用Phonegap提供的Android构建工具即可. 然后我们将Phonegap提供的Android应用构建包拷贝到最初新建的build目录中, 这里并不强制放到固定的地方, 为了方便管理, 我将它们放在了统一的目录中.如图:
最后我们使用命令行来检查以下环境配置, 如图:
如图若打印正确信息则表明相关环境配置成功. 接下来我们看看创建项目.
创建项目文件
环境配置好之后, 接下来我们看看使用命令行的方式创建项目, 首先我们要进入到Phonegap的Android应用构建包的bin目录中使用如图命令的方式创建项目.
为什么需要进入bin目录, 如果你进入到Phonegap提供的Android构建包的bin目录会看到有一个create.bat文件, 这里我们没有配置到环境变量的Path中, 因而需要进入到bin目录才能正常使用create命令. 那么如图示创建好项目之后, 退回到Android构建包的根目录你会发现它自动创建生成了一个test项目文件夹, 如图:
接下来我们进入到新建的项目目录中看看:
正如图中所示, 我们创建好的项目文件中自动生成了一些文件, 这些文件都是构建Android应用程序的相关文件. 其中具体的信息留在下一篇文章中来说明.
在生成的文件中, 有一个assets\www目录, 这个目录便是用于存放我们最终需要打包构建应用程序的文件的, 如图:
构建好项目文件并完成开发之后, 我们便可以使用Android SDK管理器的Android模拟器来构建测试应用程序.
使用Android模拟器测试构建结果
首先我们打开我们的Android SDK管理器, 它在Android SDK包的根目录中:
接下来我们启动Android管理器并开启一个模拟器:
1. 启动Android SDK Manager.exe并在Tools中选择Manage AVDs选项:
2. 然后在AVD管理器中新建一个测试模拟器并进行相关设置:
注意最后适当的给模拟器分配一个CD Card空间.
3. 配置好模拟器并保存之后在AVD管理面板中会看到有我们刚才新建的模拟器选项, 然后我们只需要启动[Start]即可:
选择启动之后会弹出一个Launch Option, 我们只需要选择Launch(启动)选项即可:
之后我们便可以看到, 启动中的Android模拟器:
以及启动完成之后的Android模拟器:
4. 接下来我们使用ant的debug命令即可将我们的应用程序安装到我们的模拟器中预览查看:
完成安装之后便可以在模拟器中看到我们刚才构建的应用程序:
最后我们在模拟器中启动我们构建好的应用程序即可看到我们的成果:
注意这里先启动模拟器再使用debug命令, 因为ant需要查找设备或者模拟器.
接下来我们来看看如何打包应用程序.
打包应用程序文件
在模拟器中预览, 并调试完成开发测试之后, 我们便可以使用ant的release命令来打包我们的应用程序. 如图:
build成功完成之后, 进入我们项目目录中会发现自动生成了一个apk文件.
注意查看我们的apk名称中带有一个unsigned字样, 而到这一步我们也只是完成了打包. 如果将这个apk文件放到手机中, 会发现无法安装. 因为此时这个apk文件还没有注册签名证书.
使用签名证书
最后我们使用JDK中提供的keytool命令来生成一个签名证书:
注意, 这里请记住自己设置的密钥口令密码, 在使用生成的签名证书是会用到.
生成签名证书完成之后在项目文件的根目录会发现我们刚才生成的证书文件:
最后, 我们生成了证书就只需要使用jarsigner命令使用我们的证书即可:
最后输入我们生成密钥密码时设置的口令即可完成证书的注册使用. 最后在项目根目录的bin目录下会生成最新版本使用证书后的apk文件, 这个文件即可发布使用.
参考阅读:
[keytool详解](http://blog.csdn.net/guo_rui22/article/details/3947716)
[基于命令行编译打包phonegap for android应用](http://www.xiaoguo123.com/p/phonegap-cmd-line-1/)
其他
本文只是讲述了如何使用ant+phonegap构建Android应用程序.