apk 签名v1与v2的区别
在Android Studio中点击菜单 Build->Generate signed apk... 打包签名过程中,
可以看到两种签名选项 V1(Jar Signature) V2(Full APK Signature),
从Android 7.0开始, 谷歌增加新签名方案 V2 Scheme (APK Signature);
但Android 7.0以下版本, 只能用旧签名方案 V1 scheme (JAR signing)
V1签名:
来自JDK(jarsigner), 对zip压缩包的每个文件进行验证, 不对zip本身校验,所以签名后还能对压缩包修改(移动/重新压缩文件)
对V1签名的apk/jar解压,在META-INF存放签名文件(MANIFEST.MF, CERT.SF, CERT.RSA),
其中MANIFEST.MF文件保存所有文件的SHA1指纹(除了META-INF文件), 由此可知: V1签名是对压缩包中单个文件签名验证
V2签名:
来自Google(apksigner), 对zip压缩包的整个文件验证, 签名后不能修改压缩包(包括zipalign),
对V2签名的apk解压,没有发现签名文件,重新压缩后V2签名就失效, 由此可知: V2签名是对整个APK签名验证
V2签名优点很明显:
签名更安全(不能修改压缩包)
签名验证时间更短(不需要解压验证),因而安装速度加快
注意: apksigner工具默认同时使用V1和V2签名,以兼容Android 7.0以下版本
apk 签名v1与v2的区别相关推荐
- 【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程
这是[Android 教程系列第 28 篇],如果觉得有用的话,欢迎关注专栏. 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必 ...
- APK 签名 v1 v2 步骤
APK 签名 v1 v2 步骤 需要工具 **apksigner.jar jarsinger.exe keytool.exe zipalign.exe ** 1.生成 keystore keytool ...
- packer-ng-plugin 360渠道打包的心酸路以及签名V1、V2区别
昨天APP终于要上线!!!项目批量打包使用的是 packer-ng-plugin 2.0.1,其他应用渠道打包完成之后专攻360APK.众所周知,360应用市场上传必须加固,加固完成后的APK需要重新 ...
- Andriod Studio两种签名机制V1和V2的区别
Android Studio 2.2以上版本打包apk的时候,我们会发现多了个签名版本(v1.v2)选择,如下图红色方框所示 问题描述(v1和v2) Android 7.0中引入了APK Signat ...
- Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)
APK的生成步骤: 大家从图中可以看出,大体分为以下 7 个大步: 1.打包资源文件,生成 R.java 文件 2.处理 aidl 文件,生成相应 java 文件 3.编译工程源代码,生成相应 cla ...
- SAP Cloud for Customer OData v1和v2的区别
SAP帮助文档:https://help.sap.com/viewer/1364b70b9cbb417ea5e2d80e966d4f49/2002/en-US/e4d5b5e4f6d847f7ad20 ...
- android打包v1和v2,关于Android Studio 打包 V1 V2 签名的选择问题
前言 以前as打包都是填完key信息就ok了,as后面更新之后,打包的签名版本多了v1,v2选择,该如何选择呢? v1与v2的区别 android 7.0中引入了apk signature schem ...
- Android V1、V2签名包和快速集成美团多渠道打包
今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...
- Android 签名方法---同时使用V1和V2签名
什么是V1和V2签名 V1签名(jar signature): V1是Android7.0之前的签名方式,使用JDK中的jar signature方式对APK进行签名打包.签名完成后会生成一个META ...
最新文章
- Gradle 使用技巧(四) - 如何定位和解决依赖冲突
- Mac OS使用技巧十九:Safari碉堡功能之二查看网页源代码
- CaaS环境下实践经验总结(二):监控系统部署
- ACM入门之【前缀和】
- python编程规范 谷歌_Python最新编程规范,新手必学
- vue2.0 #$emit,$on的使用
- Everything的下载
- 2020非全日计算机博士,在职攻读博士是不是非常难,免考在职博士和非全日博士有什么不同...
- el-table使用fixed后,最后一行显示不全;el-table设置fixed后,最后一行被遮挡。
- Spark GraphX算法 - Pregel算法
- 51nod 1009 数字1的数量
- oracle_exporter安装配置,node_exporter安装和配置
- Spark源码阅读环境搭建
- 无符号整型转点分十进制
- android webview 刷新当前页面,android webview肿么刷新网页
- 天线3db波束宽度_天线尺寸与频率,口径与波宽的关系
- [3] UI原型设计工具Pencil Project 学习系列----- 进阶
- 库存系统难破题?且看京东到家如何破
- Python Turtle 海龟绘图详解官方文档中文版
- 把Colab运行后生成的文件保存到Google drive