用命令对Andorid的应用程序包apk文件进行签名

这里重点介绍的是利用jdk中的两个工具对Android的应用程序包apk文件进行签名。
主要分为3个步骤:第一步生成签名文件,第二步对apk文件签名,第三步验证签名。

以下是执行命令,注意此段命令所生成的签名文件和apk文件在同一目录下。
首先进入dos命令行,运行-->cmd --> cd apk所在的路径(以下简称apk_dir)

第一步生成签名文件
apk_dir>keytool -genkey -keystore  hellos.keystore  -alias
hello -keyalg  RSA -validity 2000
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [Unknown]:  mark
您的组织单位名称是什么?
  [Unknown]:  markorg
您的组织名称是什么?
  [Unknown]:  markorg
您所在的城市或区域名称是什么?
  [Unknown]:  Shanghai
您所在的州或省份名称是什么?
  [Unknown]:  Shanghai
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=mark, OU=markorg, O=markorg, L=Shanghai, ST=Shanghai, C=cn 正确吗?

  [否]:  Y

输入的主密码
        (如果和 keystore 密码相同,按回车):
再次输入新密码:
 
-----------------------------------------------------------------
以上命令执行完成在apk_dir目录中将生成一个名字为hellos.keystore的签名文件


第二步对apk文件签名

apk_dir>jarsigner -verbose -keystore  hellos.keystore -signe
djar hello_sig.apk helloworld.apk  hello
输入密钥库的口令短语:
  正在添加: META-INF/HELLO.SF
  正在添加: META-INF/HELLO.RSA
  正在签名: res/layout/linearlayout.xml
  正在签名: res/layout/main.xml
  正在签名: res/layout/progressbar.xml
  正在签名: res/layout/radio.xml
  正在签名: res/layout/relativelayout.xml
  正在签名: res/layout/tablelayout.xml
  正在签名: res/layout/user.xml
  正在签名: AndroidManifest.xml
  正在签名: resources.arsc
  正在签名: res/drawable-hdpi/icon.png
  正在签名: res/drawable-ldpi/icon.png
  正在签名: res/drawable-mdpi/icon.png
  正在签名: classes.dex


第三步验证签名

apk_dir>jarsigner -verify helloworld.apk
jar 已验证。


另外一种方法是通过eclipse差距ADT工具生成,这里也简单介绍一下:
第一步:选中你的android项目,点鼠标右键
       Android Tools --> Export Signed Application Packge...
第二步
      Project Checks(这里基本不用动) -->  Keystore selection 选择 create new keystore
      在下面依次填写签名文件的名字(要以.store结尾),密码,重复密码 --> key creation
      填写签名详细信息
第三步
      给签名后的apk文件输入一个名字,点Finsh完成!

欢迎加入Android技术帮:85506951  共同讨论学习!

你可能感兴趣的:(android,移动开发,文件签名)