Android studio 签名加固后的apk文件

Android studio打包时,可以选择签名类型v1和v2,但是在经过加固后,签名就不在了,或者只有v1签名,这样是不安全的。

操作流程:

1、Android studio 对项目进行打包,生成有签名的apk文件;

2、对apk文件进行加固;

3、使用Android studio的SDK自带的apksigner.jar对apk重新签名(apksigner.jar文件位于:sdk\build-tools\31.0.0\lib,不同配置,位置有所不同);

详细方法:

1、在apksigner.jar文件界面进入cmd界面;

2、使用命令:java -jar apksigner.jar verify -v 【apk路径】查看apk文件v1和v2的签名情况; 

注:该apk只用了v1签名

3、使用Android studio中SDK的apksigner.jar对加固后的apk文件进行重新签名;

        命令:java -jar apksigner.jar sign --ks 【签名路径】 --ks-key-alias 【alias名称】 --ks-pass pass:【密码】 --key-pass pass:【密码】 --out 【签名后的新apk路径】 【待签名的apk路径】

签名后重新查看签名情况,就可以看到同时使用了v2和v3签名;

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【科研】9如何高效阅读和理解学术论文

【科研】9如何高效阅读和理解学术论文 写在最前面一、为什么需要系统的阅读方法?二、阅读论文的11步方法三、实践示例四、常见问题解答五、结语 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ …

3.22【计组】 流水线加法器

实验一 timescale 1ns / 1ps/* ALU模块实现两个32bit数的add、sub、and、or、not、slt功能, 但由于Nexy7输入口限制,将num1简化为8位,在过程中再extend成32位,num2作为内部wire自行赋值,此处赋为5 由于最后的结果在to…

算法与数据结构练习——异或

知识点讲解: 一、异或操作定义: 异或是指相同为0,不同为1,也可理解为无进位相加!! 很重要!! 二、关于异或运算的几个性质: 1.0^NN (0和任何数异或都…

计算机的错误计算(一百六十九)

摘要 探讨 MATLAB 中一个不动点的计算精度问题。 不动点是一类特殊的循环迭代。它有形式 例1. 已知迭代[1] 计算 显然,每个 均为 0.5 . 下面看看 MATLAB 的计算结果。不妨不用循环语句,直接用算术表达式表示 这时计算结果在如下图片: …

11.25.2024刷华为OD

文章目录 HJ76 尼科彻斯定理(观察题,不难)HJ77 火车进站(DFS)HJ91 走格子方法,(动态规划,递归,有代表性)HJ93 数组分组(递归)语法知识…

思科实现网络地址转换(NAT)和访问控制列表(ACL)和动态路由配置并且区分静态路由和动态路由配置。

实验拓扑(分为静态路由和动态路由两种) 静态路由互通 动态路由互通 实验背景 这个是想实现外网与内网的连接跟网络的探讨,最终实现互通以及使用并且在网络地址转换后能使用网络然后再这个基础上再配置访问控制列表和网络地址转换的的学习过程。 实验需了解的知识…

Idea 2024.3 突然出现点击run 运行没有反应,且没有任何提示。

写这篇文章的目的是为了提供一个新的解决思路,因为存在同病不同原因。 如果你进行了1. 检查运行配置 (Run Configuration) 2. 清理和重建项目 3. 清除缓存并重启 IDEA 4.排除kotlin 5.重装idea等等操作之后仍然没有解决,可以试着按一下步骤进行解决。 检…

数据结构--树二叉树顺序结构存储的二叉树(堆)

前言 前面我们学习了顺序表、链表、栈和队列,这些都是线性的数据结构。今天我们要来学习一种非线性的数据结构——树。 树的概念及结构 树的概念 树是一种非线性的数据结构,是由n(n≥0)个有效结点组成的一个具有层次关系的集合…

qt QProxyStyle详解

1、概述 QProxyStyle是Qt框架中QStyle类的一个子类,它提供了一种代理机制,允许开发者在不直接修改现有样式(QStyle)实现的情况下,对样式行为进行定制或扩展。通过继承QProxyStyle,开发者可以重写其虚方法&…

STL基本算法之copy与copy_backward

copy 不论是对客端程序或对STL内部而言,copy()都是一个常常被调用的函数。由于copy进行的是复制操作,而复制操作不外乎应用assignment operator或者copy construct(copy 算法用的是前者),但是某些元素型别拥有的是trivial assignment operato…

不可分割的整体—系统思考的微妙法则

不可分割的整体——系统思考的微妙法则 作为企业领导者,我们经常需要做出决策,但有时候,我们会忽略一个事实:每个决策都不是孤立的,它背后都是一个复杂系统的一部分。 无论是市场动态、团队协作,还是产品…

云计算基础-期末复习

第一章:云计算概论 一、云计算的定义与特征 1. 定义: 云计算是一种通过网络以按需、可扩展的方式获取计算资源和服务的模式。它将计算资源视为一种公用事业,用户可以根据需求动态获取和释放资源,而无需了解底层基础设施的细节。…

基于Java的小程序电商商城开源设计源码

近年来电商模式的发展越来越成熟,基于 Java 开发的小程序电商商城开源源码,为众多开发者和企业提供了构建个性化电商平台的有力工具。 基于Java的电子商城购物平台小程序的设计在手机上运行,可以实现管理员;首页、个人中心、用户…

【机器学习】机器学习的基本分类-监督学习-逻辑回归-对数似然损失函数(Log-Likelihood Loss Function)

对数似然损失函数(Log-Likelihood Loss Function) 对数似然损失函数是机器学习和统计学中广泛使用的一种损失函数,特别是在分类问题(例如逻辑回归、神经网络)中应用最为广泛。它基于最大似然估计原理,通过…

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里,最重要的一个更新是我们带来了“全新”的全文检索能力,之所以说“全新”主要是基于以下两点: 第一,对于全文检索基于的 BM25 算法,我们采…

RHCE作业五-shell脚本

一要求: 通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 2.判断服务是否安装 ​ 已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务 ​ 没有安装;安装对应的软件包 3.测试 判断服务…

分页查询日期格式不对

方式一:在属性上加入注解,对日期进行格式化 方式二:在 WebMvcConfiguration 中扩展Spring MVC的消息转换器,统一对日期类型进行格式化处理 /*** 统一转换处理扩展spring mvc* 后端返回前端的进行统一转化处理* param converters*/Overrideprotected voi…

深度学习3:数据预处理使用Pandas与PyTorch的实践

文章目录 导读一、主题与提纲1.1. 读取数据集1.2. 处理缺失值1.3. 转换为张量格式 二、结论 本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容&#xff0…

Tülu 3:重新定义开源大模型的后训练范式

一、引言 在大型语言模型(LLM)的发展历程中,预训练阶段往往受到最多关注,动辄需要数百万美元算力投入和数万亿token的训练数据。然而,一个鲜为人知但同样关键的事实是:预训练完成的模型实际上并不能直接投…

【机器学习】机器学习的基本分类-监督学习-逻辑回归(Logistic Regression)

逻辑回归是一种分类算法,尽管名字中包含“回归”,但其主要用于解决二分类和多分类问题。它通过学习一个逻辑函数,预测输入属于某个类别的概率。 1. 逻辑回归的基本概念 目标 逻辑回归的目标是找到一个函数 h(x),输出一个概率值 …