一、背景
最近在处理apk在应用宝的上架时,应用宝要求下载空包后使用应用的签名文件对该空包进行签名后回传,以验证开发者身份。
二、准备工作
完成该操作需要先安装java环境以获得jarsigner工具,在cmd命令行输入jarsigner -help判断是否获得jarsigner指令。
若提示:‘jarsigner’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 需要先设置环境变量,具体操作如下:
- 打开环境变量页面
- 新建JAVA_HOME变量
此处请填写自己的java安装目录。
- 添加环境变量
双击Path,点击新建按钮,输入环境变量:
%JAVA_HOME%\bin
完成以上操作后,理论上成功获得jarsigner指令。
三、开始签名
- 将apk空包、签名文件拷贝至同一新建文件夹(方便输入文件路径),如图。
- 输入签名指令:
jarsigner -verbose -keystore D:\sign_read\mykey.keystore -signedjar D:\sign_read\signed.apk D:\sign_read\tap_unsign.apk test.keystore
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]
证书名称可以使用java自带的keytool工具进行查询,具体操作请点击此处。
- 签名完成,输出apk文件。
四、总结
- 安装java环境,获得jarsigner和keytool两个工具,并通过配置环境变量获得对应指令。
- 准备好空包文件(.apk)和签名文件(.keystore)。
- 在以上文件目录下输入签名指令,签名完成后输入签名后的apk包。