Android 给 apk 签名签名是为了什么????
简单来说, 签名可以保证我们的应用可以正常升级, 并且不被别人覆盖. 算是一个标识.
工具
keytool 是个密钥和证书管理工具, 可以用来生成证书.
jarsigner 工具利用密钥仓库中的信息来产生或校验 Java 存档 (JAR) 文件的数字签名
使用 keytool 生成证书:
- keytool -genkey -keystore test.keystore -alias test -keyalg RSA -validity 10000
- 参数解释:
- -genkey 产生证书文件 -keystore 指定密钥库的.keystore文件中 -keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法) -validity 为证书有效天数,这里我们写的是10000天 -alias 产生别名
- 然后再次执行签名:
- jarsigner -verbose -keystore test.keystore -signedjar signed.apk t.apktest
- 参数说明:
- -verbose:指定生成详细输出 -keystore:指定数字证书存储路径 -signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)
- 后面有个警告,不过没有多大影响:
- 关于debug.keystore
- 补充点小知识:1. AndroidStudio会自动生成一个默认的debug.keystore,它存放在~/.android/目录下.2. 如果一不小心删了(其实我是rm了它),只要重新run一遍debug版应(不指定signingConfig),AS会再次自动创建3. 它默认密码为 android
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/06-14/23290946.html