Android签名方案

  • Android签名方案
  • V1签名(jarsigner方式)
  • V2签名(apksigner方式)
  • 验证签名
  • V3 签名
  • 优化
  • 查看签名文件证书(MD5/SHA1/SHA256..)
  • 参考地址

Android签名方案

签名方案有三种,V1、V2、V3

v1 方案:基于 JAR 签名。
v2 方案:APK 签名方案 v2,在 Android 7.0 引入。
v3 方案:APK 签名方案v3,在 Android 9.0 引入。

V1签名(jarsigner方式)

jarsigner -verbose -keystore (签名地址) -signedjar (签名后的apk地址) (待签名apk地址) (别名)
jarsigner -verbose -keystore D:\\demojks.jks -signedjar C:\demo_sign.apk C:\demo.apk Demo

异常1

jarsigner: 找不到 Demo 的证书链。Demo 必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。

别名位置错误。

V2签名(apksigner方式)

//直接用apksigner进行签名
apksigner sign --ks (签名地址) --ks-key-alias (别名) --out (签名后的apk地址) (待签名apk地址)
apksigner sign --ks D:\itlao5.keystore --ks-key-alias itlao5 --out D:\itlao5_signed.apk D:\itlao5.apk

apksigner默认是同时支持V1与V2的

有一种使用Jar的签名V2的方式:

//使用Jar命令进行签名
java -jar apksigner.jar sign --ks (签名地址) --ks-key-alias (别名) --out (签名后的apk地址) (待签名apk地址)

验证签名

//直接用apksigner进行验证
apksigner verify -v -print-certs (apk地址)

错误:
‘apksigner’ 不是内部或外部命令,也不是可运行的程序
解决:需要切到sdk的对应版本下面,如下例

C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\29.0.2>



可以看到这个APK只签名了V1。


这个是签了V1 V2 V3

V3 签名

使用V2的签名方式校验后发现,V1 V2 V3都签完了。

apksigner sign --ks (签名地址) --ks-key-alias (别名) --out (签名后的apk地址) (待签名apk地址)

优化

apksigner 签名后,可以进行Apk优化

cmd路径:
C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\29.0.2>
或者 Sdk/tools/

zipalign -v 4 原Apk 优化完Apk地址

非必须操作但是最好做下

地址:https://developer.android.google.cn/studio/command-line/zipalign.html

查看签名文件证书(MD5/SHA1/SHA256…)

keytool -list -v -keystore (文件路径)

给demo配置的jks如下:

参考地址

详解Android v1、v2、v3签名(小结):https://www.jb51.net/article/174939.htm

Android 对APK进行v1+v2+v3签名:https://blog.csdn.net/Andrio/article/details/107855762

Android Apk 签名方案相关推荐

  1. Android V3 签名方案,使用密钥转轮为签名更新做准备!

    一.序 在将 App 发布到市场之前,很重要的一个步骤就是为 APK 进行签名,大部分时候,这个操作隐藏在了打包的流程中,而不被我们注意到. 签名的作用,除了证明 App 的所有权之外,还可以帮助 A ...

  2. Android APK 签名、打包笔记

    我们知道,一款Android 要发布的话,必须经过签名,Android目前支持的签名方式包括三种: v1 方案:基于JAR签名. v2 方案:APK 签名方案 v2(在 Android 7.0 中引入 ...

  3. Android APK 签名比对

    Android APK 签名比对 转载请注明出处:http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html Android APK  ...

  4. Android APK签名原理

    Android APK 签名原理涉及到密码学的加密算法.数字签名.数字证书等基础知识,这里做个总结记录. 非对称加密 需要两个密钥,一个是公开密钥,另一个是私有密钥:一个用作加密的时候,另一个则用作解 ...

  5. Android APK签名 JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore E:\xxxxxx- pkcs12“ 迁移到行业标准格式

    Android Studio中进行签名 转载地址:Android APK签名 JKS 密钥库使用专用格式.建议使用 "keytool -importkeystore -srckeystore ...

  6. Android apk签名获取方法

    Android apk签名获取的一种方法,供大家参考 Windows(黑窗口)或Mac(终端)获取apk的签名: 1,先获取.jks文件路径(复制好备用) 2,在黑窗口或终端中输入 keytool - ...

  7. Android APK签名总结-- V1签名和V2签名使用和区别

    1. 工具介绍 jarsigner 是JDK提供的针对jar包签名的通用工具, 位于 JDK/bin/jarsignerapksigner 是Google官方提供的针对Android apk 签名验证 ...

  8. android apk签名工具_关于keytool和jarsigner工具签名的使用小结

    在我们日常Android应用开发中,我们都要对我们开发的apk做签名处理,或者加固,增强我们apk的安全性,防止被逆向反编译,在apk签名这块,我们一般采用JDK自动工具来签名,下面就对相关工具做个简 ...

  9. android软件更新模块实现的技术和方法,Android APK签名原理及方法

    一 Android签名机制及原理 Android系统在安装APK的时候,首先会检验APK的签名,如果发现签名文件不存在或者校验签名失败,则会拒绝安装,所以应用程序在发布之前一定要进行签名.给APK签名 ...

最新文章

  1. android TextView 文本里面设置超链接
  2. 计算机网络共享是什么意思,网络共享与便携式热点是什么意思
  3. C++基类和派生类的构造函数(二)
  4. Istio 从懵圈到熟练:二分之一活的微服务
  5. 林锐 高质量c语言编程下载,新年献礼:Go语言深度入门手册
  6. dos命令 cd命令使用说明[图文说明]
  7. iframe调用父页面js方法_JS高级技巧
  8. android 四种堆状态
  9. 数据结构c语言版第4版答案,严蔚敏版数据结构(C语言版)参考答案第四、五章
  10. 【工业互联网】自适应的工业生态系统
  11. 开源和非开源IM即时通讯源码有什么区别,哪个更好
  12. 机器学习面试笔试求职必背!八股文(1/5)
  13. scrapy项目-爬取阳光问政
  14. 应聘Java笔试时可能出现问题库及其答案(最全版)
  15. 企业上云后,不容忽视的管理工具-云管平台
  16. 2021ICPC南京站大杂记
  17. 【甄选靶场】Vulnhub百个项目渗透——项目四十二:Moria1.1(MD5加盐爆破)
  18. Mac 查看隐藏文件(夹)
  19. 慕课-文献管理与信息分析1-罗昭锋
  20. lr增强细节_强化30% 解析度!Lr 新出针对感光元件特性的「加强细节」功能

热门文章

  1. 移动端页面布局方式,简单记录一下
  2. sealed java_sealed 关键字
  3. 微信授权,其实2步很简单
  4. 树莓派之老的方式重刷Raspbian系统-2015
  5. 关于优化公式的小白理解
  6. hp服务器怎么安装xp系统,windowsxp系统安装惠普打印机软件的方法
  7. c语言程序无法打开文件,C语言fopen()总是提示无法正常打开文件
  8. Gist in GitHub
  9. 阿里云添加管理员用户进行协作
  10. 技术总监经验总结: 从需求到上线之用户故事地图