用命令对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 共同讨论学习!