Android给apk签名

xiaoxiao2021-02-28  124

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.apk test

参数说明:

-verbose:指定生成详细输出-keystore:指定数字证书存储路径-signedjar:该选项的三个参数为 签名后的apk包 未签名的apk包 数字证书别名(注意顺序)

后面有个警告,不过没有多大影响:

关于debug.keystore

补充点小知识: 1. AndroidStudio会自动生成一个默认的debug.keystore,它存放在~/.android/目录下. 2. 如果一不小心删了(其实我是rm了它),只要重新run一遍debug版应(不指定signingConfig),AS会再次自动创建 3. 它默认密码为 android

参考作者程序亦非猿

转载请注明原文地址: https://www.6miu.com/read-28340.html

最新回复(0)