Android 签名方法---同时使用V1和V2签名
什么是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签名相关推荐
- 【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程
这是[Android 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必 ...
- Android 签名机制原理解析和V1 、V2签名区别
一.什么是签名? 是确保消息来源的真实性 是确保消息不会被第三方篡改 1.基本信息基础必备 1.1 消息摘要 消息摘要,又称数字摘要 或 数字指纹. 简单来说,消息摘要就是在消息数据上,执行一个单向 ...
- Android V1及V2签名原理简析
Android为了保证系统及应用的安全性,在安装APK的时候需要校验包的完整性,同时,对于覆盖安装的场景还要校验新旧是否匹配,这两者都是通过Android签名机制来进行保证的,本文就简单看下Andro ...
- Android V1、V2签名包和快速集成美团多渠道打包
今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...
- 安卓apk文件使用命令行进行V1和V2签名
安卓apk文件使用命令行进行V1和V2签名 前言 安装JDK.安卓SDK V1签名 V2签名 签名验证 批处理自动签名 批处理文件编写 批处理签名使用 尾巴 前言 现在安卓APP要上传应用市场或者基于 ...
- AS打包V1和V2签名,使用乐固加固安装包签名有误 ShieldCode = 40186
AS打包V1和V2签名,使用乐固加固安装包签名有误 ShieldCode = 40186 乐固加固出现 安装包签名有误 ShieldCode = 40186 官方解答是 传送门 确认上传的应用是已签名 ...
- 面试:Android 签名校验机制 v1、v2、v3
探究 Android 签名机制和原理 - 腾讯云开发者社区-腾讯云 一.APK签名可以带来以下好处 应用程序升级 如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名与 ...
- 打包安卓apk后的V1和V2签名
前言: 打包apk后上架之前需要进行加固,加固后生成的apk文件需要进行重新签名: 单独的apk文件可以使用基于JDK(需要安装java jdk)和SDK(需要下载android studio 开发工 ...
- Android APK的签名--笔记版 V1 签名和V2签名总结
1. 工具介绍 jarsigner 是JDK提供的针对jar包签名的通用工具, 位于 JDK/bin/jarsigner apksigner 是Google官方提供的针对Android apk 签名验 ...
最新文章
- 入门系列之在Ubuntu上安装Drone持续集成环境
- 在HTML文档内引入CSS
- 每天一道LeetCode-----判断两个二叉树是否相同
- 罗永浩站台微商大会出场费5万?主办方:5万出场费是谣传
- 【MySQL】mysql The server time zone value “乱码” 错误
- LOOP AT GROUP语法熟悉
- 基于node的登入例子(node-koa-mongoose)
- 傳統經理人的迷思(转)
- 实现栈的基本操作(c语言)
- html页面中中文转英文插件,iText 7 的htmlToPdf插件支持转换中文
- 【数据结构】(二叉树)计算二叉树的高度递归与非递归 三种方法 C语言
- 天呐!惊人的Springboot测试.Springboot测试类之@RunWith注解
- 表格拆分的两种方式 拆分成多个excel工作表或多个excel文件
- wcp mysql 密码_[wcp部署]Linux(Ubuntu)安装部署WCP
- 如何用JAVA制作一个漂亮的表格
- 分级渲染--百度地图路段红黄绿功能
- SpringCloud进阶-Hystrix的熔断机制+Hystrix的工作流程
- Spring Security 框架详解
- 8021什么意思_违章代码8021是什么意思
- 关于IGBT反并联二极管反向恢复