获取签名
keytool -genkey -v -keystore app.keystore -alias lhapp -keyalg RSA -validity 20000
-keystore 就是要生成的keystore的名称:app.keystore
-alias 后面跟的是别名这里是:alias_name
-keyalg 是加密方式这里是:RSA
-validity 是有效期这里是:20000天
回车,然后输入密码,然后是各种信息,最后再输一次密码,可以跟之前输的一样
第一次输入的是keystore本身的密码,最后输入的是alias的密码
之后就在当前路径下可以看到一个keystore文件了,可以拿这个来给自己的apk签名
给没签名的包签名
直接调用jarsigner命令即可。
比如:
jarsigner -verbose -digestalg SHA1 -sigalg SHA1withRSA -storepass app -keypass app -keystore app.keystore -signedjar xx_signed.apk xx_unsigned.apk lhapp
对xx_unsigned.apk签名,签名后为xx_signed.apk。
验证签名
jarsigner -verify xx.apk
就可以验证apk是否已经签名了。
可以把如下代码做成bat,直接拖入文件检查签名。
:start
@echo 请输入apk名字,或拖入apk按回车
@set /p apk_name=
@if not exist "%apk_name%" echo.你输入apk不存在!!&goto :start
@echo 你输入的apk为:%apk_name%
@echo 开始检查签名...
@jarsigner -verify %apk_name%
@pause
查看签名
将apk后缀改成zip,解压,然后:
keytool -printcert -file META-INF/xxx.RSA
就可以看到签名信息了。
可以把如下代码做成bat,直接拖入rsa文件查看签名。
:start
@echo 请输入签名文件(META-INF/CERT.RSA)名字,或拖入按回车
@set /p rsa_name=
@if not exist "%rsa_name%" echo.你输入签名文件不存在!!&goto :start
@echo 你输入的签名文件为:%rsa_name%
@echo 开始获取签名信息...
@keytool -printcert -file %rsa_name%
@pause
各种命令用法
各种命令可以在输入命令然后加上一个空格,再加上-help,回车,即可看到使用说明。
比如:keytool -help