Android apk签名方法介绍
来源:互联网 发布:java开发环境的构成 编辑:程序博客网 时间:2024/05/18 03:42
还望支持个人博客站:http://www.enjoytoday.cn
参考博客:http://www.enjoytoday.cn/posts/203
为什么要签名
在介绍签名方法之前,首先我们来了解下,android系统为何需要我们签名后才可安装运行apk,其实这个签名和我们生活中的信用卡签名并无本质不同,就是一个对apk身份的验证,对于apk的一种担责行为。apk前面采用加密算法(RSA或DSA)对apk加密验证以确保在apk安装运行之前的文件完整性和未被修改。
签名前的准备
签名其实说白了即使对文件进行加密,将整个文件给”锁起来”了。因此, apk前面前需要获取两个文件,一个是android已经编译成功 的apk文件,另一个即使apk的签名文件。当然,签名前你还是需要知道你的签名文件的签名基本参数的:别名和签名密码。所以在签名之前,我们需要做两个最基础的事情:一是编译生成apk文件,二是创建私有签名文件,apk文件编译胡不多赘述,主要来说如何生成一个签名文件。
签名文件的生成
签名文件的生成方式主要有两种,一种是工具式的可视化生成,一种是通过命令行方式生成。下面我主要介绍通过命令行方式生成一个前面文件*.jks.
命令行生成的前提是需要你已经成 功安装配置java运行时环境,生成签名证书使用的是java源码工具下的一个工具keytool,命令格式如下:
#keytool -genkey -alias keyname -keyalg RSA --validity 20000 -keystore keyname.jks -storepass storepass -keypass keypass
各个选项的含义如下所示:
-genkey : 生成.jks或.keystore文件 -alias :签名文件的别名,若需要导入eclipse对应用进行签名则需要设置为 androiddebugkey -keyalg : 加密方式 -validity : 有效时间 -keystore : .jks或.keystore文件名 -storepass :store仓库密码,若需要导入eclipse对应用进行签名则需要设置为android -keypass : .jks或.keystore文件的密码
命令运行后会显示一些需要你输入的信息,包括公司信息、个人地址、个人姓名等相关信息,显示如下:
最后确认后就会在当前目录生成一个keyname.jks前面文件,如此就完成了一个签名文件的创建过程 。
开始签名
命令行签名使用的是java自带工具jarsigner签名工具签名,签名使用使用的命令如下:
#jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keyname.jks -signedjar. test.tspk release.apk keyname
如此就可成功将test.apk签名成功,输出签名成功后的apk文件release.apk.
查看签名
签名后我们可以通过keytool工具对我们的apk进行查看签名信息,结果会输出你签名时填入的相关信息,以及一个生成的sha1和md5值,命令如下:
#keytool -printcert -jarfile release.apk
结果显示如下:
签名者 #1:签名:所有者: C=US, O=Android, CN=Android Debug发布者: C=US, O=Android, CN=Android Debug序列号: 1有效期开始日期: Sun May 15 02:14:14 CST 2016, 截止日期: Tue May 08 02:14:14 CST 2046证书指纹: MD5: 7C:79:6B:BD:C5:CE:9C:A5:BB:3F:F2:20:39:6A:A7:B5 SHA1: 4A:00:08:BE:CC:A6:9A:CE:7D:82:F5:84:C1:31:C6:19:99:12:84:53 SHA256: A1:36:20:F4:E3:32:9C:32:F7:28:B1:8A:EB:15:42:37:1C:A5:10:47:47:A1:E2:12:AB:29:C5:62:35:05:C4:B3 签名算法名称: SHA1withRSA 版本: 1
- Android apk签名方法介绍
- Android apk签名方法
- android apk签名方法
- Android APK签名介绍01
- Android APK签名介绍02
- android apk重签名方法
- android 系统开发APK签名方法
- Android 4.2 JellyBean apk 签名方法。
- Android apk签名的两种方法
- Android 4.2 JellyBean apk 签名方法
- android apk 应用 重新签名 方法
- Android查看apk签名信息方法
- android apk 应用 重新签名 方法 .
- Android APK签名原理及方法
- android给apk空包签名的方法
- apk 查看签名,以及apk签名方法
- 获取apk签名及apk签名方法
- apk签名方法总结
- VS2010安装失败总结
- redis中的主从同步与集群管理
- Python 引用 :可变类型和不可变类型
- Properties转换成Map
- jquery 跨域请求 报错:(原因:CORS 头缺少 'Access-Control-Allow-Origin')
- Android apk签名方法介绍
- Truncated class file description The server encountered aninternal error that prevented it from fulf
- BZOJ-3595 方伯伯的OJ 双Treap
- 刷清橙OJ--A1037.下楼问题
- 推荐WordPress 必备的常用插件及插件功能介绍
- tempfile.mkstemp 创建的文件的删除问题
- 图像卷积与滤波的一些知识点
- 使用CSS实现垂直居中
- 为什么代码和数据要分开存放成代码段和数据段