Android 应用签名

来源:互联网 发布:自行车锁 知乎 编辑:程序博客网 时间:2024/05/17 08:36

转载:http://blog.csdn.net/lyq8479/article/details/6401093

介绍如何通过命令的方式完成 apk 签名


1. 准备工作

给 apk 签名一共要用到3个工具,分别是:keytool、jarsigner 和 zipalign

  • keytool:生成数字证书,即密钥,也就是扩展名为 .keystore 的那类文件,该工具位于 jdk 安装路径的 bin 目录下
  • jarsigner:使用数字证书给 apk 文件签名,该工具位于 jdk 安装路径的 bin 目录下
  • zipalign:对签名后的 apk 进行优化,提高与 Android 系统交互的效率,该工具位于 sdk/buildtools/android_xxx 目录下

2. 生成未经签名的 apk 文件
打开 Eclipse,在 Android 工程名称上点击右键,依次选择 "Android Tools" - "Export Unsigned Application Package ...",然后选择一个存储位置保存即可

3. 使用 keytool 工具生成数字证书
keytool -genkey -v -keystore xxxxx.keystore -alias xxxxx.keystore -keyalg RSA -validity 20000

1) keytool 是工具名称
2) -genkey:表示执行的是生成数字证书操作
3) -v:表示将生成证书的详细信息打印出来
4) -keystore xxxx.keystore:表示生成的数字证书的文件名为 xxxx.keystore
5) -alias xxxx.keystore:表示证书的别名为 xxxx.keystore,可以和上面的文件名不一样
6) -keyalg RSA:表示生成密钥文件所采用的算法为 RSA
7) -validity 20000:表示生成该数字证书的有效期为 20000天

4. 使用 jarsigner 工具为 Android 应用程序签名
jarsigner -verbose -keystore xxxxxxxx.keystore -signedjar xxxxx.apk xxxxx.apk xxxxxxxx.keystore

1) jarsigner 是工具名称
2) -verbose:表示将签名过程中的详细信息打印出来
3) -keystore xxxxxx.keystore:表示签名所使用的数字证书所在位置,这里没有写路径,表示在当前目录
4) -signedjar xxxxxx.apk xxxxx.apk:表示给第一个 apk 文件签名,签名后的文件名称为后面的那个名称
5) 最后面的 xxxxxxx.keystore:表示证书的别名,对应生成证书时 -alias 参数指定的值

5. 使用 zipalign 工具优化已签名的 apk(非必须但建议这么做)
zipalign -v 4 xxxxx.apk xxxxxxx.apk

1) zipalign 是工具名称
2) -v:表示打印出详细的优化信息
3) xxxxx.apk xxxxxxxxx.apk:第一个是未优化的 apk 名称,第二个是指定优化名 apk 的名称

0 0
原创粉丝点击