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签名;
相关文章:
Android studio 签名加固后的apk文件
Android studio打包时,可以选择签名类型v1和v2,但是在经过加固后,签名就不在了,或者只有v1签名,这样是不安全的。 操作流程: 1、Android studio 对项目进行打包,生成有签名的apk文件ÿ…...
Brain.js(二):项目集成方式详解——npm、cdn、下载、源码构建
Brain.js 是一个强大且易用的 JavaScript 神经网络库,适用于前端和 Node.js 环境,帮助开发者轻松实现机器学习功能。 在前文Brain.js(一):可以在浏览器运行的、默认GPU加速的神经网络库概要介绍-发展历程和使用场景中&…...
关于Vscode配置Unity环境时的一些报错问题(持续更新)
第一种报错: 下载net请求超时(一般都会超时很正常的) 实际时并不需要解决,它对你的项目毫无影响 第二种报错: .net版本不匹配 解决:(由于造成问题不一样,所以建议都尝试一次&…...
MacOS 配置github密钥
MacOS 配置github密钥 1. 生成GitHub的SSH密钥对 ssh-keygen -t ed25519 -C "xxxxxxx.com" -f ~/.ssh/id_ed25519_github 其中 xxxxxxxxxxx.com 是注册github、gitee和gitlab的绑定账号的邮箱 -t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快&…...
从0开始学PHP面向对象内容之常用设计模式(策略,观察者)
PHP设计模式——行为型模式 PHP 设计模式中的行为模式(Behavioral Patterns)主要关注对象之间的通信和交互。行为模式的目的是在不暴露对象之间的具体通信细节的情况下,定义对象的行为和职责。它们常用于解决对象如何协调工作的问题ÿ…...
前端 如何用 div 标签实现 步骤审批
在前端实现一个步骤审批流程,通常是通过 div 标签和 CSS 来构建一个可视化的流程图,结合 JavaScript 控制审批的状态变化。你可以使用 div 标签创建每一个步骤节点,通过不同的样式(如颜色、边框等)表示审批的不同状态&…...
【大数据技术基础 | 实验十四】Kafka实验:订阅推送示例
文章目录 一、实验目的二、实验要求三、实验原理(一)Kafka简介(二)Kafka使用场景 四、实验环境五、实验内容和步骤(一)配置各服务器之间的免密登录(二)安装ZooKeeper集群(…...
SpringAi整合大模型(进阶版)
进阶版是在基础的对话版之上进行新增功能。 如果还没弄出基础版的,请参考 https://blog.csdn.net/weixin_54925172/article/details/144143523?sharetypeblogdetail&sharerId144143523&sharereferPC&sharesourceweixin_54925172&spm1011.2480.30…...
为什么爱用低秩矩阵
目录 为什么爱用低秩矩阵 一、定义与性质 二、区别与例子 为什么爱用低秩矩阵 我们更多地提及低秩分解而非满秩分解,主要是因为低秩分解在数据压缩、噪声去除、模型简化和特征提取等方面具有显著的优势。而满秩分解虽然能够保持数据的完整性,但在实际应用中的场景较为有限…...
React 自定义钩子:useOnlineStatus
我们今天的重点是 “useOnlineStatus” 钩子,这是 React 自定义钩子集合中众多精心制作的钩子之一。 Github 的:https://github.com/sergeyleschev/react-custom-hooks import { useState } from "react" import useEventListener from &quo…...
uniapp 小程序 监听全局路由跳转 获取路由参数
uniapp 小程序 监听全局路由跳转 获取路由参数 app.vue中 api文档 onLaunch: function(options) {let that this;let event [navigateTo, redirectTo, switchTab, navigateBack];event.forEach(item > {uni.addInterceptor(item, { //监听跳转//监听跳转success(e) {tha…...
12.02 深度学习-卷积
# 卷积 是用于图像处理 能够保存图像的一些特征 卷积层 如果用全连接神经网络处理图像 计算价格太大了 图像也被转为线性的对象导致失去了图像的空间特征 只有在卷积神经网络cnn的最后一层使用全连接神经网络 # 图像处理的三大任务 # 目标检测 对图像中的目标进行框出来 # 图…...
MySQL 主从同步一致性详解
MySQL主从同步是一种数据复制技术,它允许数据从一个数据库服务器(主服务器)自动同步到一个或多个数据库服务器(从服务器)。这种技术主要用于实现读写分离、提升数据库性能、容灾恢复以及数据冗余备份等目的。下面将详细…...
Spring源码导入idea时gradle构建慢问题
当我们将spring源码导入到idea进行构建的时候,spring采用的是gradle进行构建,默认下注在依赖是从https://repo.maven.apache.org会特别慢,需要改为国内的镜像地址会加快速度。 将项目中build.gradle配置进行调整: repositories …...
Dockerfile 安装echarts插件给java提供服务
java调用echarts插件,生成图片保存到磁盘然后插入到pptx中报表。 Dockerfile文件内容: #基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8 FROM docker.io/centos:centos7 #暴露端口 EXPOSE 9311 # 避免centos 日志输出 …...
Springboot小知识(1):启动类与配置
一、启动类(引导类) 在通常情况下,你创建的Spring应用项目都会为你自动生成一个启动类,它是这个应用的起点。 在Spring Boot中,引导类(也称为启动类,通常是main方法所在的类)是整个…...
[CISCN 2019华东南]Web11
[CISCN 2019华东南]Web11 给了两个链接但是都无法访问 这里我们直接抓包试一下 我们插入X-Forwarded-For:127.0.0.1 发现可以修改了右上角的IP地址,从而可以进行注入 {$smarty.version} 查看版本号 if标签执行PHP命令 {if phpinfo()}{/if} 查看协议 {if system(…...
Cypress内存溢出奔溃问题汇总
内存溢出报错信息 <--- Last few GCs ---> [196:0xe58001bc000] 683925 ms: Scavenge 1870.7 (1969.9) -> 1865.6 (1969.9) MB, 6.07 / 0.00 ms (average mu 0.359, current mu 0.444) task; [196:0xe58001bc000] 683999 ms: Scavenge 1872.4 (1969.9) -> 1867.1…...
树莓派4B--OpenCV安装踩坑
报错: Source directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329 Working directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329/_skbuild/linux-armv7l-3.7/cmake-build Please check the i…...
电子电气架构 --- 面向服务的汽车诊断架构
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…...
避坑指南:Ollama部署DeepSeek-R1时,如何安全地开放API端口给内网其他服务调用?
深度解析:Ollama部署DeepSeek-R1时内网API安全开放实战 当你在一台Linux服务器上成功部署了Ollama和DeepSeek-R1模型后,下一步自然是想让内网中的其他服务也能调用这个强大的AI能力。但直接开放端口就像把家门钥匙插在锁上——方便但危险。本文将带你深入…...
学术风控新范式:陌讯 AIGC 检测论文 AI 代写识别技术详解
摘要:随着生成式人工智能(AIGC)技术的爆发式迭代,GPT-4、文心一言等大模型已能生成逻辑连贯、格式规范的学术论文,AI代写、AI润色过度等学术不端行为呈现隐蔽化、规模化趋势,传统查重工具难以应对这一新型学…...
做了5年GEO优化,我敢说90%的企业都没看懂GEO的真实成本
很多人来问我 GEO 是什么意思,大多是听别人说这是 AI 时代的获客新路子,能比传统推广省好几倍的钱,还能让 AI 优先推荐自己家。但我每次都先不说那些好听的好处,先给大家算清楚,做 GEO 这件事里,那些 90% 的…...
别再只会用A4988了!用STM32+L298N手撸42步进电机细分驱动(附256细分算法)
从零构建STM32L298N的256细分步进电机驱动系统 在创客和嵌入式开发领域,步进电机控制一直是个既基础又充满挑战的课题。市面上常见的A4988、DRV8825等驱动模块虽然方便,但当项目需要更高精度、更灵活控制时,这些现成方案往往显得力不从心。本…...
手把手教你用Python打造一个简易图片颜色替换工具(含Tkinter GUI界面)
用Python和Tkinter构建智能图片颜色替换工具:从零到一的完整开发指南 在数字图像处理领域,颜色替换是一个基础但极其实用的功能。想象一下,你有一张产品照片需要快速调整主色调,或者需要将证件照的背景色统一更换——传统方式可能…...
别再只用Set5了!超分辨率模型训练,这5个开源数据集(DIV2K、Flickr2K等)的实战配置与对比
超分辨率模型训练:5个开源数据集的深度实战指南 在超分辨率研究领域,数据集的选择往往决定了模型性能的上限。许多开发者习惯性地使用Set5、Set14等小型数据集,却忽略了更丰富的数据资源可能带来的性能突破。本文将深入解析DIV2K、Flickr2K、…...
别再死记硬背PCA公式了!用Python+Open3D实战点云法向量估计(附代码)
用Python实战点云法向量估计:从数学原理到Open3D实现 点云处理是计算机视觉和三维重建中的基础任务,而法向量估计则是理解点云局部几何特征的关键步骤。传统教学中,PCA(主成分分析)往往被简化为一堆数学公式ÿ…...
告别模糊人像:AI驱动的面部增强新方案
告别模糊人像:AI驱动的面部增强新方案 【免费下载链接】DZ-FaceDetailer a node for comfyui for restore/edit/enchance faces utilizing face recognition 项目地址: https://gitcode.com/gh_mirrors/dz/DZ-FaceDetailer 在数字图像处理领域,人…...
零基础入门esp32开发:用快马平台生成第一个led控制程序详解
最近在学ESP32开发,发现对于新手来说,从零开始写代码还是挺有挑战的。不过我发现了一个超好用的工具——InsCode(快马)平台,它可以根据你的需求直接生成可运行的代码,特别适合像我这样的初学者。 项目需求分析 我想实现一个简单的…...
Oracle RAC OCR坏了怎么办?手把手教你用ocrconfig修复与备份(附11g/12c实战命令)
Oracle RAC OCR故障应急指南:从诊断到修复的全链路实战 凌晨三点,当手机铃声划破寂静,作为DBA的你从睡梦中惊醒。电话那头传来运维同事急促的声音:"生产环境RAC集群所有节点突然离线,CRS服务无法启动!…...
