上个教程我简要介绍了“基于命令行编译打包phonegap for android应用”的基本思路,并采用debug模式编译了一个示例apk程序。这篇文章将继续介绍如何创建数字证书,如何使用它,如何使用ant对apk文件进行签名。
上个教程我简要介绍了“基于命令行编译打包phonegap for android应用”的基本思路,并采用debug模式编译了一个示例apk程序。这篇文章将继续介绍如何创建密钥,如何使用密钥,如何使用ant对apk文件进行签名。
上一篇文章请阅读:基于命令行编译打包phonegap for android应用
制作签名文件(证书,或者密钥)
使用java sdk提供的工具keytool制作你的签名文件。关于如何安装java sdk请参考前一篇文章。
启动一个命令行窗口,输入如下命令:
keytool -genkey -alias guoguo -keypass guoguo -keyalg RSA -keysize 1024 -validity 3650 -keystore F:\guoguo.keystore -storepass guoguo
说明:
- -genkey 说明此命令用于产生证书
- -alias 给证书一个别名,本例为“guoguo”
- -keypass 密钥库的密码,本例为“guoguo”
- -keyalg 加密方式,本例为“RSA”
- -keysize 密钥长度,本例为“1024”
- -validity 有效期,单位“天”
- -keystore 密钥存储的位置,本例为“F:\guoguo.keystore”
- -storepass 存储库密码,本例为“guoguo”
命令执行后,会提示输入其他额外的信息,可以一直回车保持默认值,或者输入。
制作好的证书目前存放在“F:\guoguo.keystore”,并记住了两个密码,都是“guoguo”。
修改ant.properties文件
还是以Phonegap提供示例工程为例(phonegap 2.1),使用命令行定位到此工程目录下,如:
C:\Users\guo\Downloads\phonegap-phonegap-26d211b\lib\android\example
执行命令:android update project -p ./ -t 5
-t 5表示对应android sdk中的target!可以使用命令: android list target查看。本例中,4表示android 4.0。
命令执行的结果如下:
C:\Users\guo\Downloads\phonegap-phonegap-26d211b\lib\android\example>android update project -p ./ -t 5
Updated project.properties
Updated local.properties
Added file C:\Users\guo\Downloads\phonegap-phonegap-26d211b\lib\android\example\proguard.cfg
修改ant.properties文件如下:
#目录分隔符必须使用反斜杠 /
key.store=F:/guoguo.keystore
key.alias=guoguo
说明:
- key.store 证书文件的目录,目录分隔符必须使用反斜杠 /
- key.alias 证书的别名,请参考第一个步骤。
编译
上述准备工作做好后,在此工程的目录下执行命令:
ant release
稍后,编译过程中提示输入“Please enter keystore password”,我们键入:guoguo,回车继续;
接着提示输入别名的密码“Please enter password for alias guoguo”,我们键入:guoguo,回车继续。
编译成功,提示:BUILD SUCCESSFUL
BUILD SUCCESSFUL
Total time: 2 minutes 26 seconds
安装APK
到工程的“bin”目录下,安装apk:cordovaExample-release.apk
手机上的效果如下: