在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的区别相关推荐

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

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

  2. APK 签名 v1 v2 步骤

    APK 签名 v1 v2 步骤 需要工具 **apksigner.jar jarsinger.exe keytool.exe zipalign.exe ** 1.生成 keystore keytool ...

  3. packer-ng-plugin 360渠道打包的心酸路以及签名V1、V2区别

    昨天APP终于要上线!!!项目批量打包使用的是 packer-ng-plugin 2.0.1,其他应用渠道打包完成之后专攻360APK.众所周知,360应用市场上传必须加固,加固完成后的APK需要重新 ...

  4. Andriod Studio两种签名机制V1和V2的区别

    Android Studio 2.2以上版本打包apk的时候,我们会发现多了个签名版本(v1.v2)选择,如下图红色方框所示 问题描述(v1和v2) Android 7.0中引入了APK Signat ...

  5. Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)

    APK的生成步骤: 大家从图中可以看出,大体分为以下 7 个大步: 1.打包资源文件,生成 R.java 文件 2.处理 aidl 文件,生成相应 java 文件 3.编译工程源代码,生成相应 cla ...

  6. SAP Cloud for Customer OData v1和v2的区别

    SAP帮助文档:https://help.sap.com/viewer/1364b70b9cbb417ea5e2d80e966d4f49/2002/en-US/e4d5b5e4f6d847f7ad20 ...

  7. android打包v1和v2,关于Android Studio 打包 V1 V2 签名的选择问题

    前言 以前as打包都是填完key信息就ok了,as后面更新之后,打包的签名版本多了v1,v2选择,该如何选择呢? v1与v2的区别 android 7.0中引入了apk signature schem ...

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

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

  9. Android 签名方法---同时使用V1和V2签名

    什么是V1和V2签名 V1签名(jar signature): V1是Android7.0之前的签名方式,使用JDK中的jar signature方式对APK进行签名打包.签名完成后会生成一个META ...

最新文章

  1. Gradle 使用技巧(四) - 如何定位和解决依赖冲突
  2. Mac OS使用技巧十九:Safari碉堡功能之二查看网页源代码
  3. CaaS环境下实践经验总结(二):监控系统部署
  4. ACM入门之【前缀和】
  5. python编程规范 谷歌_Python最新编程规范,新手必学
  6. vue2.0 #$emit,$on的使用
  7. Everything的下载
  8. 2020非全日计算机博士,在职攻读博士是不是非常难,免考在职博士和非全日博士有什么不同...
  9. el-table使用fixed后,最后一行显示不全;el-table设置fixed后,最后一行被遮挡。
  10. Spark GraphX算法 - Pregel算法
  11. 51nod 1009 数字1的数量
  12. oracle_exporter安装配置,node_exporter安装和配置
  13. Spark源码阅读环境搭建
  14. 无符号整型转点分十进制
  15. android webview 刷新当前页面,android webview肿么刷新网页
  16. 天线3db波束宽度_天线尺寸与频率,口径与波宽的关系
  17. [3] UI原型设计工具Pencil Project 学习系列----- 进阶
  18. 库存系统难破题?且看京东到家如何破
  19. Python Turtle 海龟绘图详解官方文档中文版
  20. 把Colab运行后生成的文件保存到Google drive

热门文章

  1. Flink shell报错 For input string: 0x100
  2. mariadb设置root初始密码
  3. codeblocks折叠区的颜色
  4. sublime运行前自动保存代码(转)
  5. 机器学习算法与Python实践之(二)k近邻(KNN)
  6. python列表功能默写_Python list(列表)功能详解
  7. java 窗口GUI
  8. c语言指定大小分割文件,C语言实现智能文件分割
  9. Php 魔术函数性能,php常用的魔术函数详细解析
  10. jqgrid 启用键盘操作bindKeys