安卓apk文件使用命令行进行V1和V2签名

news/2024/10/30 23:28:06/

安卓apk文件使用命令行进行V1和V2签名

  • 前言
  • 安装JDK、安卓SDK
  • V1签名
  • V2签名
  • 签名验证
  • 批处理自动签名
    • 批处理文件编写
    • 批处理签名使用
  • 尾巴

前言

现在安卓APP要上传应用市场或者基于安全性考虑需要进行加固,而加固完成之后需要重新进行签名。在AS中我们能使用AS自带的打包功能进行签名,而单独的apk文件可以使用基于JDK和SDK的命令进行手动签名,下面我们就来看下怎么实现吧。

安装JDK、安卓SDK

这步是必须的,因为V1签名是基于JDK,V2签名是基于安卓SDK。

V1签名

V1签名是基于JDK,所以我们需要在命令行(win+R,然后输入cmd回车)进入安装JDK的bin目录,如下图:
在这里插入图片描述
接下来就是使用命令进行签名,命令如下:

jarsigner -verbose -keystore [jks路径] -signedjar [V1签名完后apk文件输出路径] [需要签名的apk路径] [签名文件别名]示例:
jarsigner -verbose -keystore D:\cer\Android\sign.jks -signedjar D:\Android\sign_V1.apk D:\Android\jiagu.apk test

如果各项配置没有问题的话,执行完命令后就可以正确生成V1签名的apk文件了。

V2签名

V2签名是基于安卓SDK,同样我们需要在命令行(win+R,然后输入cmd回车)进入SDK的build-tools目录,然后随意选择一个大于27的版本(这里最好选择高点的版本),然后进入lib目录,如下图:
在这里插入图片描述
接下来就是使用命令进行签名,命令如下:

java -jar apksigner.jar sign --ks [jks路径] --ks-key-alias [签名文件别名] --ks-pass pass:[证书密码] --key-pass pass:[别名密码] --out [V2签名完后apk文件输出路径] [需要V2签名的apk路径]示例:
java -jar apksigner.jar sign --ks D:\cer\Android\sign.jks --ks-key-alias test --ks-pass pass:123456 --key-pass pass:123456 --out D:\Android\sign_V2.apk D:\Android\sign_V1.apk

到这里V2签名也已经完成了。

签名验证

完成V2签名后使用命令进行签名验证(这里和V2签名一样,也要命令行进入到安卓SDK相关目录,参考上面步骤),命令如下:

java -jar apksigner.jar verify -v [签名文件的路径]示例:
java -jar apksigner.jar verify -v D:\Android\sign_V2.apk

如果正确的完成了V1和V2签名,则显示如下:
在这里插入图片描述

批处理自动签名

既然是用用命令行进行签名,那我们只要配置好了相关文件的路径,那就可以利用windows的批处理文件进行自动签名。

批处理文件编写

以V1签名为例,我们先要定位到JDK所在的bin目录,然后执行V1签名的命令,命令中配置好你的证书,需要签名的文件以及签完名的文件路径。代码如下:

cd /d D:\setup\JDK\Java\jdk1.8.0_171\bin && jarsigner -verbose -keystore D:cer\Android\sign.jks -signedjar D:\Android\sign_V1.apk D:\Android\jiagu.apk test
pause

新建文本,然后复制代码到文本文件,将后缀改为.bat,双击bat文件就可以进行V1自动签名了。

V2签名批处理跟上面类似,就不再赘述了,直接贴出代码:

cd /d D:\androidsdk\android-sdk-windows\build-tools\29.0.2\lib && java -jar apksigner.jar sign --ks D:\cer\Android\sign.jks --ks-key-alias test --ks-pass pass:123456 --key-pass pass:123456 --out D:\Android\sign_V2.apk D:\Android\sign_V1.apk
java -jar apksigner.jar verify -v D:\Android\sign_V2.apk
pause

这里将签名验证的命令也加入到了V2批处理文件中,如果不需要可以自行删除。

批处理签名使用

将各项参数配置好后,你就可以双击批处理文件进行自动签名,非常方便,如下图所示:
在这里插入图片描述

尾巴

今天的总结到这里就结束了,希望能对大家有帮助。如果喜欢我的文章,欢迎给我点赞:点赞,评论,关注,谢谢大家!


http://www.ppmy.cn/news/548517.html

相关文章

v2rayN断网修复

莫名其妙的会断掉。 简单的操作流程 去看了一下bwg没有被qiang 因为装了火绒,所以检测一下 把hosts的问题忽略,然后修复一下,我看了一下,主要是修复了IE代理,不知道莫名的就没用了

V2EX注册

最近注册了V2EX网站,觉得是个不错的论坛类的网站,很适合程序员,里面有很多有意思的帖子,所以就帮忙推广一下(也是因为推广有铜币拿,推广人和被推广人都有200铜币的样子),话不多说&am…

v2-ui配置

1.安装 v2-ray面板 bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh) 默认端口&#xff1a;65432&#xff08;例如www.xxx.com:65432&#xff09; 2.添加账号

Ubuntu启用Cgroups V2

适用于Ubuntu Server 18.04, 20.04 LTS 判断系统是否启用了cgroups v2&#xff1a; cat /sys/fs/cgroup/cgroup.controllers 如果提示not found&#xff0c;说明是v1. 若已启用v2则会打印出生效中的控制器&#xff0c;例如 cpuset cpu io memory pids rdma 调整grub linux内…

苹果 服务通知 V2

在iOS开发中如果涉及到虚拟物品购买&#xff0c;就需要使用iap服务。iap支付确实很蛋疼&#xff0c;商品分类多&#xff1a;消耗品、非消耗品、自动订阅商品&#xff0c;非续订商品。像非消耗品需要支持访客模式购买&#xff0c;还需要支持恢复的功能&#xff0c;就是用户换了手…

CoCosNet v2论文解读

文章目录 创新点算法Multi-level domain alignmentHierarchical GRU-assisted PatchMatchTranslation network损失函数 实验结论 论文&#xff1a; 《CoCosNet v2: Full-Resolution Correspondence Learning for Image Translation》 github&#xff1a; https://github.com/…

DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better阅读笔记

论文&#xff1a;https://arxiv.org/pdf/1908.03826.pdf 代码&#xff1a;https://github.com/TAMU-VITA/DeblurGANv2 abstract 我们提出了一个名为DeblurGAN-v2的端到端的生成对抗网络&#xff0c;它对于去模糊产生了非常好的性能。DeblurGAN-v2基于conditional GAN(带有两个…

以太网 V2 MAC帧的封装,解析,发送

核心算法分析&#xff1a; 1. 解析帧结构模块 本模块实现了将封装好的MAC帧各字段解析为可阅读的文本的功能。 其中&#xff0c;任意位置的读入失败都抛出文件已到达末尾异常&#xff0c;结束解析。 2. 封装数据帧模块 本模块实现了将用户输入的文本封装为MAC帧的功能。 3. 模拟…