在我的上一篇博客中跟大家分享了如何使用Dreamweaver 和JQuery、PhoneGap框架来开发手机应用程序。详见:http://blog.csdn.net/soft2buy/article/details/7217163
以安卓系统开发为例。Dreamweaver输出的apk文件是未签名的,而Dreamweaver目前还未支持自动为程序集签名的功能,因此只能是手工来为apk的文件签名。
我自己探索了一番后,总结出的具体操作步骤如下:
1.在命令行下,CD到Java SDK 安装的位置。 我的位置是:C:\Program Files\Java\jdk1.7.0_02\bin
首先我们先创建一个开发者的证书。创建证书的目的,是为了识别应用程序的开发者,也是开发者与用户之间信任关系的凭证。
为了方便操作,我们在 C:\Program Files\Java\jdk1.7.0_02\bin 目录下创建一个叫 keys 的文件夹来保存我们创建的证书。
在命令行下,输入以下命令开始创建证书:
C:\Program Files\Java\jdk1.7.0_02\bin>keytool -genkey -alias dengfeng.keystore -keyalg RSA -validity 20000 -keystore keys/dengfeng.keystore
说明:
按下回车键后,需要回答软件提出的几个问题:
如下图所示:
依次如上图所示回答你公司或个人的信息即可。我没有试过是否可以使用中文填写,我使用的英文没有任何问题。
这时,你就可以在 C:\Program Files\Java\jdk1.7.0_02\bin\keys\ 文件夹下找到我们创建的证书了。
如下图所示:
2.接下来我们要使用该证书为我们开发的程序进行签名了。操作步骤如下:
使用Dreamweaver导出Android的安装包,具体步骤详见:http://blog.csdn.net/soft2buy/article/details/7217163
找到 “程序名称-debug-unaligned.apk” 文件。有人说是输出目录下的 那个“程序名称.ap_”文件,但我试了签名后无法安装。
如下图所示:
把这个文件拷贝到:
C:\Program Files\Java\jdk1.7.0_02\bin 目录下,并重新命名为:iwiiboard.apk
在命令行输入如下命令:
C:\Program Files\Java\jdk1.7.0_02\bin>jarsigner -verbose -keystore keys/dengfeng.keystore -signedjar iwiiboard_released.apk iwiiboard.apk dengfeng.keystore
按下回车键,输入你刚才创建的证书密码,就可以对名为 iwiiboard.apk的应用签名,并输出为:iwiiboard_released.apk. 注意这两个文件的书写顺序,作为输出结果的文件是写在前面的!
结果如下图所示:
这时,你可以在
C:\Program Files\Java\jdk1.7.0_02\bin>目录下找到输出后的带签名的文件:iwiiboard_released.apk.
我们可以通过以下的命令来验证签名是否成功:
在同一目录下,命令行输入:
C:\Program Files\Java\jdk1.7.0_02\bin>jarsigner -verbose -verify iwiiboard_released.apk
如显示 jar 已验证 及其证书的有效期等信息,说明应用签名成功了!
3. 使用zipalign.exe优化签名后的apk,让安卓系统更高效的执行该应用。
步骤如下:
首先,在Android的sdk目录下的tools文件夹里找到zipalign.exe,为方便操作,我们把它拷贝到C:\Program Files\Java\jdk1.7.0_02\bin>目录下
输入以下命令:
C:\Program Files\Java\jdk1.7.0_02\bin>zipalign -v 4 iwiiboard_released.apk iwiiboard_sign.apk
按下回车,zipalign自动为 iwiiboard_released.apk优化,并输出为 iwiiboard_sign.apk 文件。
如下图所示:
iwiiboard_sign.apk 就是最终我们要的文件,你可以上传到 Android market 让用户下载安装了。