Android命令行用已有的keyStore对apk进行签名

这里要用到Android SDK中的一个工具jarsigner,只要配置了SDK环境变量就可以直接使用

方法一(推荐):

复制命令到记事本保存为apk-sign.bat后运行

1
2
3
4
5
6
7
8
set/p keystore_path=请输入.keystore的文件路径:
set/p alias_path=请输入keystore的alias:
set/p unsign_path=请输入待签名的apk文件路径:
set/p sign_path=请输入签名后生成的apk文件路径:

jarsigner -verbose -keystore %keystore_path% -signedjar %sign_path% %unsign_path% %alias_path%

pause

运行后根据提示填上对应的信息,最后输入keystore的密码,提示jar 已签名,就大功告成了。

方法二:

除了方法一也可以在命令行里直接用一行命令解决,但需要4个参数:

①keystore文件路径

②签名后生成的apk路径

③待签名的apk路径

④alias别名

1
jarsigner -verbose -keystore keystore文件路径 -signedjar 签名后生成的apk路径 待签名的apk路径 别名

1.例如,我已有的.keystore文件在D:\app\keystore的目录下,名为demo.keystore

2.待签名的apk在D:\app\apk的目录下,文件名是unsign.apk

3.签名后会产生一个新的apk,然后我要让新apk也生成在D:\app\apk目录下

4.keystore里面可能会存在多个别名,所以要注明一下别名,这里我的别名就是demo

把这4个参数合成完整的命令就是:

1
jarsigner -verbose -keystore D:\app\keystore\demo.keystore -signedjar D:\app\apk\unsign.apkD:\app\apk\sign.apk demo