使用命令行生成签名文件并用其对apk文件进行签名

《一》使用命令行生成签名文件
(1)创建一个用来存放签名文件的文件夹android_publish
(2)在命令行窗口中输入命令:(粗体部分)
E:\android_publish>keytool -genkey -alias alex_android.keystore -keyalg RSA -validity 20000 -keystore alex_android.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [Unknown]:  ZhouJiangHai
您的组织单位名称是什么?
  [Unknown]:  jxust
您的组织名称是什么?
  [Unknown]:  jxust
您所在的城市或区域名称是什么?
  [Unknown]:  ganzhou
您所在的州或省份名称是什么?
  [Unknown]:  jiangxi
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=ZhouJiangHai, OU=jxust, O=jxust, L=ganzhou, ST=jiangxi, C=cn 正确吗?
  [否]:  y

输入<alex_android.keystore>的主密码
        (如果和 keystore 密码相同,按回车):
这时会在E盘的abdroid_publish文件夹下生成alex_android.keystore文件,就是我们需要的签名文件,(-validity 20000 表示证书的有效天数为20000天)

《二》用生成的签名文件对apk文件进行签名
(1)在Eclipse中用“Export the unsigned apk”工具导出项目,这里保存到E盘的android_publish文件夹下,名为assistant.apk

(2)使用jarsigner给android_infoAssistant.apk
文件签名,如下所示:
E:\android_publish>"E:\jdk1.6\bin\jarsigner.exe" -verbose -keystore alex_android.keystore -signedjar android_assistant.apk assistant.apk alex_android.keystore

输入密匙的口令短语:
......
通过上面的命令就可以讲未签名的assistant.apk 文件签名为android_assistant.apk

(3)最后验证是否签名成功
E:\android_publish>"E:\jdk1.6\bin\jarsigner.exe" -verify android_assistant.apk
如果成功则
输出:
jar 已验证
posted @ 2011-03-17 16:47  icedog  阅读(2196)  评论(0编辑  收藏  举报