什么是V1和V2签名

V1签名(jar signature):

V1是Android7.0之前的签名方式,使用JDK中的jar signature方式对APK进行签名打包。签名完成后会生成一个META-INF文件夹,里面有三个文件:MANIFEST.MF,CERT.RSA,CERT.SF,是用来记录签名信息的。简单来说V1 签名是对压缩包中单个文件签名验证。

V2签名(Full apk signature)

V2是Android7.0推出的签名方式,使用Full Apk Signature方式对APK进行签名打包。V2是对zip压缩包的整个文件验证, 签名后不能修改压缩包。

V2签名的优点

V2是验证压缩文件的所有字节码,因此,在签名完成后无法再更改,签名更安全;

V2签名由于不需要解压缩然后验证,因此可以缩短在设备上进行验证的时间,使安装速度加快。

既然V2是Android7.0才推出的,那么在Android7.0以下的系统上安装V2签名会有什么问题呢?答案是:Android7.0以下的系统上没有这种签名的验证方式,因此系统会提示应用未安装。那要怎么解决在Android7.0以下系统上的签名问题呢,那就是同时对apk进行V1和V2签名

签名步骤

1、生成自己的签名文件,比如我自己的my.jks

keytool -genkey -v -keystore my.keystore -alias mykey -storepass 123456 -keypass 123456 -keyalg RSA -validity 36000

2、我们采用apksigner来对apk进行签名,apksigner是Android SDK自带的一个签名工具,默认是同时使用V1和V2签名

输入如下命令对apk进行签名:

apksigner sign --ks my.jks --ks-key-alias 密钥别名 xxx.apk

此时,签名之后的apk就同时具有V1和V2签名了。

验证方法

同样使用apksigner进行签名验证,输入命令:

apksigner verify -v --print-certs xxx.apk

Android 签名方法---同时使用V1和V2签名相关推荐

  1. 【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程

    这是[Android 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必 ...

  2. Android 签名机制原理解析和V1 、V2签名区别

    一.什么是签名? 是确保消息来源的真实性 是确保消息不会被第三方篡改 1.基本信息基础必备 1.1 消息摘要 消息摘要,又称数字摘要 或 数字指纹.  简单来说,消息摘要就是在消息数据上,执行一个单向 ...

  3. Android V1及V2签名原理简析

    Android为了保证系统及应用的安全性,在安装APK的时候需要校验包的完整性,同时,对于覆盖安装的场景还要校验新旧是否匹配,这两者都是通过Android签名机制来进行保证的,本文就简单看下Andro ...

  4. Android V1、V2签名包和快速集成美团多渠道打包

    今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...

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

    安卓apk文件使用命令行进行V1和V2签名 前言 安装JDK.安卓SDK V1签名 V2签名 签名验证 批处理自动签名 批处理文件编写 批处理签名使用 尾巴 前言 现在安卓APP要上传应用市场或者基于 ...

  6. AS打包V1和V2签名,使用乐固加固安装包签名有误 ShieldCode = 40186

    AS打包V1和V2签名,使用乐固加固安装包签名有误 ShieldCode = 40186 乐固加固出现 安装包签名有误 ShieldCode = 40186 官方解答是 传送门 确认上传的应用是已签名 ...

  7. 面试:Android 签名校验机制 v1、v2、v3

    探究 Android 签名机制和原理 - 腾讯云开发者社区-腾讯云 一.APK签名可以带来以下好处 应用程序升级 如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名与 ...

  8. 打包安卓apk后的V1和V2签名

    前言: 打包apk后上架之前需要进行加固,加固后生成的apk文件需要进行重新签名: 单独的apk文件可以使用基于JDK(需要安装java jdk)和SDK(需要下载android studio 开发工 ...

  9. Android APK的签名--笔记版 V1 签名和V2签名总结

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

最新文章

  1. 入门系列之在Ubuntu上安装Drone持续集成环境
  2. 在HTML文档内引入CSS
  3. 每天一道LeetCode-----判断两个二叉树是否相同
  4. 罗永浩站台微商大会出场费5万?主办方:5万出场费是谣传
  5. 【MySQL】mysql The server time zone value “乱码” 错误
  6. LOOP AT GROUP语法熟悉
  7. 基于node的登入例子(node-koa-mongoose)
  8. 傳統經理人的迷思(转)
  9. 实现栈的基本操作(c语言)
  10. html页面中中文转英文插件,iText 7 的htmlToPdf插件支持转换中文
  11. 【数据结构】(二叉树)计算二叉树的高度递归与非递归 三种方法 C语言
  12. 天呐!惊人的Springboot测试.Springboot测试类之@RunWith注解
  13. 表格拆分的两种方式 拆分成多个excel工作表或多个excel文件
  14. wcp mysql 密码_[wcp部署]Linux(Ubuntu)安装部署WCP
  15. 如何用JAVA制作一个漂亮的表格
  16. 分级渲染--百度地图路段红黄绿功能
  17. SpringCloud进阶-Hystrix的熔断机制+Hystrix的工作流程
  18. Spring Security 框架详解
  19. 8021什么意思_违章代码8021是什么意思
  20. 关于IGBT反并联二极管反向恢复

热门文章

  1. OpenCV C++开发 第一节:Win7开发环境搭建
  2. 2018年最后一个工作日
  3. 苏宁易购商品详情 API
  4. 疫情可视化part3
  5. 物联网毕设分享 STM32 wifi照明控制系统 - 智能路灯(毕设分享)
  6. 视觉SLAM十四讲学习第二部分(ch7-ch14)
  7. Network Delay Simulator模拟延时、带宽甚至丢包率,更精确地模拟慢网速环境
  8. Ubuntu桌面系统卡住
  9. 【后续还会补充】Sublime Text 4 常用插件安装及配置方法
  10. 计算机网络工程的话术,话术工具电脑版