【Android面试八股文】你刚刚提到了V2签名使用美团的Walle实现多渠道打包,那么你能讲一讲Android 签名的 v1、v2、v3、v4版本的区别吗?

文章目录

  • 前言
  • 一、简介
  • 二、APK 签名方案 v1 (JAR签名)
    • 2.1. 签名过程
    • 2.2 验证过程
    • 2.3 详细例子
    • 2.4 优缺点
    • 2.5 美团基于V1版本的多渠道打包方案
  • 三、APK 签名方案 v2
    • 3.1 为什么要设计APK 签名方案 v2 ?
    • 3.2 APK 签名方案 v2 : 签名前和签名后的 APK
      • 3.2.1 签名前和签名后的 APK
      • 3.2.1 受完整性保护的内容
    • 3.3 APK 签名方案 v2的验证
      • 3.3.1 如何验证?
      • 3.3.2 APK 签名方案 v2 验证
      • 3.3.3 JAR 已签名的 APK 的验证(v1 方案)
  • 四、APK 签名方案v3
    • 4.1 APK 签名方案v3概述
    • 4.2 APK 签名方案v3验证
  • 五、 APK 签名方案v4
    • 5.1 APK 签名方案v4 概述
    • 5.2 APK 验证流程 v4
  • 总结

前言

在我的博客 【Android面试八股文】你在多渠道打包方面提到了使用美团的Walle框架,那你能说一说Walle的原理吗?中,有提到

  • 美团基于V1版本的多渠道打包方案:美团Android自动化之旅—生成渠道包
  • 美团基于V2版本的多渠道打包方案:美团Android新一代渠道包生成工具

现在就要来讲一讲Android 签名的 v1、v2、v3、v4版本的区别了!

大家可以参考官网:应用签署

在这里插入图片描述

一、简介

Android 目前支持以下四种应用签名方案:

  • APK 签名方案v1:基于 JAR 签名。
  • APK 签名方案 v2࿱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/727513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

04 - matlab m_map地学绘图工具基础函数 - 设置网格

04 - matlab m_map地学绘图工具基础函数 - 设置网格 0. 引言1. 关于m_grid2. 关于m_utmgrid3. 结语 0. 引言 本篇介绍下m_map中网格设置有关的函数m_grid和m_utmgrid,其中m_grid较为常用,m_utmgrid为设置UTM网格,仅支持在UTM投影下使用。 首先…

学校图书借阅管理系统(数据库课设)PS:有前端界面

1.课设要求描述 ●实现图书信息、类别、出版社等信息的管理; ●实现读者信息、借阅证信息的管理; ●实现图书的借阅、续借、归还管理; ●实现超期罚款管理、收款管理; ●创建触发器,分别实现借书和还书时自动更新图书信息的在册数量; ●创建视图查询各种图书…

工业AIoT竞赛

模块一:工业物联环境构建 # 查看节点状态 kubectl get nodes # 查看所有 pods 状态 kubectl get pods --all-namespaces cd /data/script/ ls | grep install_openyurt_manager # ./install_openyurt_manager_v5.sh是搜索到的脚本文件 ./install_openyurt_manager_v…

C/C++ struct stat介绍

目录 前言 struct stat struct stat 使用 参考 共勉 前言 本文详细介绍了stat结构体的成员变量,以及使用案例,希望能够帮到您。 struct stat struct stat 结构体用于表示文件或者文件系统对象信息的一种结构体的声明,通常在POSIX&#x…

电子书(chm)-加载JS--CS上线

免责声明: 本文仅做技术交流与学习... 目录 cs--web投递 html(js)代码 html生成chm工具--EasyCHM 1-选择powershell 模式 生成 2-选择bitsadmin模式生成 chm反编译成html cs--web投递 cs配置监听器--->攻击---->web投递---> 端口选择没占用的, URL路径到时候会在…

前端下载文件流,axios设置responseType: arraybuffer/blob无效

项目中调用后端下载文件接口,设置responseType: arraybuffer,实际拿到的数据data是字符串 axios({method: post,url: /api/v1/records/recording-file/play,// 如果有需要发送的数据,可以放在这里data: { uuid: 06e7075d-4ce0-476f-88cb-87fb0a1b4844 }…

AtomicInteger原理和CAS与Synchronized(juc编程)

AtomicInteger原理 4.6.1 原理介绍 AtomicInteger的本质:自旋锁 CAS算法 CAS的全成是: Compare And Swap(比较再交换); 是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。CAS可以将read-modify-write转换为原子操作,这…

vue小总结

知识总结 【 1 】es6 语法总结 # let 定义变量 # const定义常量 ------块级作用域---- # var 以后尽量少用,函数作用域var 在 JavaScript 中是函数作用域或全局作用域。而 let 和 const 是块级作用域。 // 使用 var 声明全局变量 var globalVar "Im a globa…

【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现

📝个人主页:哈__ 期待您的关注 目录 📕引言 ⛓决策树的基本原理 1. 决策树的结构 2. 信息增益 熵的计算公式 信息增益的计算公式 3. 基尼指数 4. 决策树的构建 🤖决策树的代码实现 1. 数据准备 2. 决策树模型训练 3.…

DAB-DETR

论文地址: https://arxiv.org/pdf/2201.12329 文章通过前人的经验得出,导致 DETR 训练速度慢的原因很大可能是因为 decoder 中 cross attention 这个模块,由上面的对比可以看出其与 self attention 的区别主要就在于query的不同。文章猜想两个…

Java 8 Stream API介绍

Java 8引入了Stream API,这是对集合框架的一种增强,它允许你以一种声明式的方式处理数据集合。Stream API的核心在于将数据的操作分为两个主要阶段:中间操作和终端操作。中间操作返回的是一个新的Stream,可以链式调用多个中间操作…

C语言 图的基础知识

图 图的基本概念图的存储方法**邻接矩阵**:邻接表 图的遍历深度优先(DFS)广度优先(BFS) 最小生成树Prim算法Kruskal算法 最短路径问题 图的基本概念 图的定义: 图是由顶点的非空有穷集合与顶点之间关系&am…

opencv的RGB 颜色表

RGB(255,23,140)是光的三原色,也即是红绿蓝Red,Green,Blue,它们的最大值是255,相当于100%。 白色:rgb(255,255,255) 黑色:rgb(0,0,0) 红色:rgb(255,0,0) …

我的创作纪念日--码农阿豪

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

分支结构相关

1.if 语句 结构: if 条件语句: 代码块 小练习: 使用random.randint()函数随机生成一个1~100之间的整数,判断是否是偶数 import random n random.randint(1,100) print(n) if n % 2 0:print(str(n) "是偶数") 2.else语…

模拟原神圣遗物系统-小森设计项目,设计圣遗物(生之花,死之羽,时之沙,空之杯,理之冠)抽象类

分析圣遗物 在圣遗物系统,玩家操控的是圣遗物的部分 因此我们应该 物以类聚 人与群分把每个圣遗物的部分,抽象出来 拿 生之花,死之羽为例 若是抽象 类很好的扩展 添加冒险家的生之花 时候继承生之花 并且名称冒险者- 生之花 当然圣遗物包含…

返回给前端数据的封装

返回格式如下: { "code": 200/400, "msg": "成功"/"失败", "total": n, "data": [ {},{}]} 1.在common中新增Result 类,代码如下 package com.xxx0523.common; import lombo…

【全网最全最详细】RabbitMQ面试题

一、说下RabbitMQ的架构大致是什么样的? RabbitMQ是一个开源的消息中间件,用于在应用程序之间传递消息。它实现了AMQP(高级消息队列协议)并支持其它消息传递协议,例如STOMP(简单文本定向消息协议&#xff…

【机器学习】机器学习重要方法—— 半监督学习:理论、算法与实践

文章目录 引言第一章 半监督学习的基本概念1.1 什么是半监督学习1.2 半监督学习的优势 第二章 半监督学习的核心算法2.1 自训练(Self-Training)2.2 协同训练(Co-Training)2.3 图半监督学习(Graph-Based Semi-Supervise…

蓝鹏测控公司全长直线度算法项目多部门现场组织验收

关键字:全场直线度算法,直线度测量仪,直线度检测,直线度测量设备, 6月18日上午,蓝鹏测控公司全长直线度算法项目顺利通过多部门现场验收。该项目由公司技术部、开发部、生产部等多个部门共同参与,旨在提高直线度测量精度,满足高精度制造领域需…