当前位置: 首页 > news >正文

使用keytool查看Android APK签名

文章目录

  • 一、找到JDK位置
  • 二、使用方法
    • 2.1 打开windows命令行工具
    • 2.2 查看签名
  • 三、如何给APK做系统签名呢?

一、找到JDK位置

  • 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本
  • 默认位置:C:\Users\66176.jdks\corretto-1.8.0_342
  • 可通过自己的AS设置查看具体位置

二、使用方法

2.1 打开windows命令行工具

  • win + r 运行, 输入cmd
    在这里插入图片描述

2.2 查看签名

  • 1.先切换到keytool的工具目录下,方便使用
  • 2.输入命令:keytool.exe -list -printcert -jarfile
  • 3.将apk工具,直接拖到命令行窗口内,会自动补齐APK路径信息
Microsoft Windows [版本 10.0.22000.856]
(c) Microsoft Corporation。保留所有权利。C:\Users\66176\.jdks\corretto-1.8.0_342\bin>keytool.exe -list -printcert -jarfile C:\Users\66176\Downloads\20220829\test-signed.apk
签名者 #1:签名:所有者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
发布者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
序列号: e5c91345970d1155
有效期为 Mon Dec 10 20:22:55 CST 2012 至 Fri Apr 27 20:22:55 CST 2040
证书指纹:MD5:  91:00:3C:AF:A9:13:2E:71:92:4C:2C:DA:B3:9D:AF:F9:2F:9F:0E:54SHA1: FE:96:88:12:8F:8D:1E:15:71:D9:F3:67:AC:3D:71:67:80:8F:23:22:2D:03:35:F3:77:1E:A2:85:17:70:AB:DDSHA256: SHA1withRSA ()
签名算法名称: 2048 位 RSA 密钥
主体公共密钥算法: 3
版本: {10}扩展:#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C   D3 41 1A 4B 23 09 82 70  ....'....A.K#..p
0010: CB 35 8D 61                                        .5.a
]
[CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW]
SerialNumber: [    e5c91345 970d1155]
]#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[CA:truePathLen:2147483647
]#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C   D3 41 1A 4B 23 09 82 70  ....'....A.K#..p
0010: CB 35 8D 61                                        .5.a
]
]Warning:
证书 uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.C:\Users\66176\.jdks\corretto-1.8.0_342\bin>

三、如何给APK做系统签名呢?

  • 执行如下命令即可
  • 不同版本的AOSP代码,signapk.jar的路径会有变化,如找不到的话,用find . -name signapk.jar 命令查找一下
$cd vendor/mediatek/proprietary_tv/open/common/security
$java -jar  -Djava.library.path="/home/builder/code/out/host/linux-x86/lib64/" /home/builder/code/out/host/linux-x86/framework/signapk.jar platform.x509.pem platform.pk8 tv.apk  signed-tv.apk    

相关文章:

使用keytool查看Android APK签名

文章目录 一、找到JDK位置二、使用方法2.1 打开windows命令行工具2.2 查看签名 三、如何给APK做系统签名呢? 一、找到JDK位置 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本默认位置:C:\Users\66176.jdks\corretto-1.8.0_342可通过自…...

数据库学习日常案例20231221-oracle libray cache lock分析

1 问题概述: 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。...

【数据结构】最短路径算法实现(Dijkstra(迪克斯特拉),FloydWarshall(弗洛伊德) )

文章目录 前言一、Dijkstra(迪克斯特拉)1.方法:2.代码实现 二、FloydWarshall(弗洛伊德)1.方法2.代码实现 完整源码 前言 最短路径问题:从在带权有向图G中的某一顶点出发,找出一条通往另一顶点…...

算法模板之队列图文详解

🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️模拟队列1.1 🔔用数组模拟实现队列1.1.1 👻队列的定…...

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境,类似 Windows 系统的终端或…...

AtomHub 开源容器镜像中心开放公测,国内服务稳定下载

由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念,旨在为开源组织和开…...

java8实战 lambda表达式、函数式接口、方法引用双冒号(中)

前言 书接上文,上一篇博客讲到了lambda表达式的应用场景,本篇接着将java8实战第三章的总结。建议读者先看第一篇博客 其他函数式接口例子 上一篇有讲到Java API也有其他的函数式接口,书里也举了2个例子,一个是java.util.functi…...

FPGA高端项目:UltraScale GTH + SDI 视频编解码,SDI无缓存回环输出,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 GT 高速接口解决方案我目前已有的SDI编解码方案 3、详细设计方案设计框图3G-SDI摄像头LMH0384均衡EQUltraScale GTH 的SDI模式应用UltraScale GTH 基本结构参考时钟的选择和分配UltraScale GTH 发送和接收处理流程UltraScale…...

为什么react call api in cDidMount

为什么react call api in cDM 首先,放到constructor或者cWillMount不是语法错误 参考1 参考2 根据上2个参考,总结为: 1、官网就是这么建议的: 2、17版本后的react 由于fiber的出现导致 cWM 会调用多次! cWM 方法已…...

openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制

文章目录 openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制171.1 使用CREATE TABLE执行深层复制171.1.1 操作步骤 171.2 使用CREATE TABLE LIKE执行深层复制171.2.1 操作步骤 171.3 通过创建临时表并截断原始表来执行深层复制171.3.1 操作步骤 openGa…...

[kubernetes]控制平面ETCD

什么是ETCD CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、…...

序列化类的高级用法

1.3.3 模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动生成一系列…...

4.svn版本管理工具使用

1. 什么是SVN 版本控制 它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节! Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空 SVN的优势 统一的版本号 Subversi…...

ZKP Algorithms for Efficient Cryptographic Operations 1 (MSM Pippenger)

MIT IAP 2023 Modern Zero Knowledge Cryptography课程笔记 Lecture 6: Algorithms for Efficient Cryptographic Operations (Jason Morton) Multi-scalar Multiplication(MSM) Naive: nP (((P P) P) P)… (2(2P))…Binary expand $n e_0e_1\alphae_2\alpha2\dots\e_{\…...

Windows系统安装 ffmpeg

下载及解压 ffmpeg官方下载地址:https://ffmpeg.org/download.html 下载好后将其解压至你想保存的位置中。 环境变量设置 打开Windows设置,在搜索框输入:系统高级设置。 新建环境变量,并输入bin目录具体位置。 安装检查 按住 w…...

油猴脚本教程案例【键盘监听】-编写 ChatGPT 快捷键优化

文章目录 1. 元数据namenamespaceversiondescriptionauthormatchgranticon 2. 编写函数.1 函数功能2.1.1. input - 聚焦发言框2.1.2. stop - 取消回答2.1.3. newFunction - 开启新窗口2.1.4. scroll - 回到底部 3. 监听键盘事件3.1 监听X - 开启新对话3.2 监听Z - 取消回答3.3 …...

数据结构 | 查漏补缺

目录 数据的基本单位 冒泡排序 DFS和BFS中文 Prim 比较 中序线索二叉树 顺序栈 链栈 时间复杂度 循环队列 求第K个结点的值 数据的基本单位 数据元素 循环队列sq中,用数组elem[0‥25]存放数据元素,设当前sq->front为20,sq-&g…...

回溯算法练习题

78. 子集 中等 1.9K 相关企业 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&#x…...

代码随想录算法训练营 | day60 单调栈 84.柱状图中最大的矩形

刷题 84.柱状图中最大的矩形 题目链接 | 文章讲解 | 视频讲解 题目&#xff1a;给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 1 < heights.len…...

vscode中vue项目报错

当在vscode中写代码时&#xff0c;报错报错报错......... 已经头大&#xff0c;还没写就报错&#xff0c; 这是因为eslint对语法的要求太过严格导致的编译时&#xff0c;出现各种语法格式错误 我们打开vue.config.js&#xff0c;加上这句代码&#xff0c;就OK啦 lintOnSave:…...

NitroShare高效使用指南:从安装到定制的全流程解析

NitroShare高效使用指南&#xff1a;从安装到定制的全流程解析 【免费下载链接】nitroshare-desktop Network file transfer application for Windows, OS X, & Linux 项目地址: https://gitcode.com/gh_mirrors/ni/nitroshare-desktop NitroShare是一款跨Windows、…...

从HikariCP连接泄漏告警到业务逻辑耗时优化实战

1. 从告警日志到问题定位 那天早上刚到公司&#xff0c;就收到运维同事发来的告警截图。日志里赫然写着"Apparent connection leak detected"&#xff0c;后面跟着一堆堆栈信息。作为负责这个微服务的老司机&#xff0c;我第一反应就是&#xff1a;HikariCP又在报连…...

如何高效获取Twitter社交数据:学术研究的实战指南

如何高效获取Twitter社交数据&#xff1a;学术研究的实战指南 【免费下载链接】getting-started-with-the-twitter-api-v2-for-academic-research A course on getting started with the Twitter API v2 for academic research 项目地址: https://gitcode.com/gh_mirrors/ge/…...

Obsidian模板库实战指南:从零构建高效知识管理系统

Obsidian模板库实战指南&#xff1a;从零构建高效知识管理系统 【免费下载链接】OB_Template OB_Templates is a Obsidian reference for note templates focused on new users of the application using only core plugins. 项目地址: https://gitcode.com/gh_mirrors/ob/OB…...

如何永久保存微信聊天记录?WeChatMsg免费工具终极指南

如何永久保存微信聊天记录&#xff1f;WeChatMsg免费工具终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

DeOldify API速率限制:令牌桶算法实现每用户每小时1000次调用

DeOldify API速率限制&#xff1a;令牌桶算法实现每用户每小时1000次调用 1. 为什么需要API速率限制 在构建基于DeOldify的图像上色服务时&#xff0c;我们面临一个重要的技术挑战&#xff1a;如何公平合理地分配计算资源。深度学习模型推理需要消耗大量的GPU计算资源&#x…...

OpenWrt旁路由进阶玩法:用iPhone USB网络共享做冗余WAN口,提升家庭网络可靠性

OpenWrt旁路由进阶玩法&#xff1a;用iPhone USB网络共享构建冗余WAN口 当家庭网络的核心设备——主路由器突然宕机时&#xff0c;智能家居离线、视频会议中断、NAS文件无法访问的连锁反应会让人措手不及。而将iPhone的USB网络共享转化为OpenWrt旁路由的备用WAN口&#xff0c;就…...

虚拟机异常断电后卡在initramfs阶段?手把手教你用xfs_repair修复系统分区

1. 虚拟机异常断电的常见后果 最近在调试一个基于KVM的虚拟机集群时&#xff0c;遇到了一个典型问题&#xff1a;机房突然断电后&#xff0c;几台虚拟机重启时卡在了initramfs阶段&#xff0c;屏幕上不断刷出"generating /run/initramfs/rdsosreport.txt"的提示。这种…...

图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧

图像修复效率提升&#xff1a;设计师与开发者必备的7个开源AI模型应用技巧 【免费下载链接】ComfyUI-BrushNet ComfyUI BrushNet nodes 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BrushNet 在数字创作与内容修复领域&#xff0c;如何快速高效地消除图像瑕疵…...

从Java转行大模型应用,Advanced-RAG 学习

一、RAG 进阶概述&#xff08;Advanced-RAG&#xff09;基础RAG&#xff08;检索增强生成&#xff09;核心是“检索生成”的两阶段流程&#xff0c;解决大模型“幻觉”和知识时效性问题&#xff0c;但在复杂场景&#xff08;长文档、模糊查询、高精准需求&#xff09;中存在检索…...