Android Studio 生成 keystore 签名文件及打包验证流程

一、创建keystore签名文件

1、在菜单栏中,依次点击 Build - Generate Signed Bundle/Apk...(生成签名)

 

2、选择 APK 选项,点击按钮 Next 到下一步

3、新建key store秘钥文件,点击按钮 Next 到下一步

 

4、按如下提示填写信息,点击按钮 Next 到下一步

5、签名生成完成,勾选记住密码,方便下次打包

 

6、勾选签名效验方式,选择要打包的环境,点击按钮 Next 开始打包

 

 

7、见到如下提示,说明打包成功

二、获取签名文件的配置信息

终端执行如下命令:
keytool -list -v -keystore 你的keystore文件的绝对路径
输入 keystore 的密码后,就可以在终端上看到 keystore 签名文件的配置信息了,如下图所示

三、项目中配置签名信息

1、在菜单栏中,依次点击 File - Project Structure

 

2、依次点击 Module - app - Signing Configs - +,然后添加刚才生成的正式签名

 

3、点击Apply ,再点击ok,完成添加配置

4、点击按钮 ok 后,Android Studio 会自动在app模块的build.gradle中添加签名信息,如下图所示

5、签名配置成功后,把签名文件和环境关联,参照1流程,在Build Types里面进行设置

 

四、验证签名是否成功

方法一(keytool,只支持V1签名校验)进入JDK/bin, 输入命令keytool -printcert -jarfile xxx.apk (显示签名证书信息)参数:-printcert           打印证书内容-jarfile <filename>  已签名的jar文件 或apk文件   方法二(apksigner,支持V1和V2签名校验)进入Android SDK/build-tools/SDK版本, 输入命令apksigner verify -v --print-certs xxx.apk参数:-v, --verbose 显示详情(显示是否使用V1和V2签名)--print-certs 显示签名证书信息

第一步我们在生成签名后,在指定文件夹下生成了一个 release 版的 apk 包,现在我们用方法二验证APK的证书链,在终端输入如下命令:
apksigner verify -v --print-certs 安装包路径.apk
输入 以上命令后,就可以在终端上看到 keystore 签名文件的配置信息了,如下图所示


原文链接:https://blog.csdn.net/c8296038795/article/details/128172449

 

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

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

相关文章

Java的Maven下载和配置步骤

Maven的下载 https://maven.apache.org/download.cgi 以Windows10版本为列&#xff0c;下载如图所示的格式&#xff1a; Maven的环境配置 以Windows10为例&#xff0c;进行环境变量的配置 在点击环境变量按钮之后选择系统变量&#xff0c;首先点击新建,把这两个参数如下图输…

Python 绘制饼图

import matplotlib.pyplot as plt # 数据 labels [A, B, C, D] sizes [20, 30, 40, 10] # 饼图 plt.figure(figsize(5, 5)) plt.pie(sizes, labelslabels, autopct%1.1f%%, startangle90) #startangle 初始角度 plt.rcParams[font.sans-serif] [Times New Roman] plt.axis(e…

SUSE Linux Enterprise Server安装

1. SUSE镜像下载 下载地址&#xff1a;Evaluation Copy of SUSE Linux Enterprise Server | SUSE 选择自己需要的版本和对应的架构 选择下载SLE-15-SP5-Full-x86_64-GM-Media1.iso&#xff0c;下载时需要注册请按照提示进行注册。 2. 安装SUSE Linux 安装时可以通过连接服务…

三、SpringBoot3 整合 SpringMVC

本章概要 实现过程web 相关配置静态资源处理自定义拦截器(SpringMVC 配置) 3.1 实现过程 创建程序引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www…

7-26 单词长度

题解&#xff1a; #include <bits/stdc.h> using namespace std; int main() {string s;getline(cin,s); //读取一行字符串char c; //记录字符int cnt 0; //用来记录长度int flag 0; //用来判断是否已经输出了第一个单词的长度for (int i 0;i<s.size(); i)…

Vue3 + Vite 构建组件库发布到 npm

你有构建完组件库后&#xff0c;因为不知道如何发布到 npm 的烦恼吗&#xff1f;本教程手把手教你用 Vite 构建组件库发布到 npm 搭建项目 这里我们使用 Vite 初始化项目&#xff0c;执行命令&#xff1a; pnpm create vite my-vue-app --template vue这里以我的项目 vue3-xm…

如何将本地项目代码上传到github代码托管平台上【小白教程】

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是本地代码怎么上传到代码托管平台上。 最新文章通过公众号「设计师工作日常」发布。 目录 引子前提创建仓库仓库创建完成git 本地仓库初始化本地仓库&#xff08;本地项目代码&#x…

day76 jquery

知识点: 1 在HTML中引入jQuery 2 jQuery中就绪函数 3 jQuery中选择器 4 使用jQuery获取表单元素的值 及标签中间的内容 5 jQuery中获取标签属性 6 jQuery设置和获取标签样式 ----------------------------------- 一 在HTML中引入jQuery 1/*! jQuery…

经典文献阅读之--LESS-Map(长期定位轻量级和逐渐演进的语义地图方案)

0. 简介 精确且长期稳定的定位对于停车场内的行车任务&#xff0c;如自动驾驶或自动代客泊车等&#xff0c;至关重要。现有方法依赖于固定且内存效率低下的地图&#xff0c;缺乏强大的数据关联方法&#xff0c;不适用于精确的定位或长期地图维护。《LESS-Map: Lightweight and…

律所如何做好内容运营,提升品牌影响力

近年来&#xff0c;随着品牌推广方式的改变&#xff0c;中国律所也开始关注内容营销&#xff0c;期待能够凭借内容营销增强影响力。今天&#xff0c;媒介盒子就从内容传播的逻辑出发&#xff0c;和大家聊聊律所如何做好内容运营&#xff0c;提升品牌影响力。 一、品牌形象管理 …

ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

文章目录 截图1.在开发者网站的app id中添加Sign in with Apple功能2.在Xcode中添加Sign in with Apple功能3.代码&#xff1a;只有第一次登录的时候可以获取到用户名参考博客chatGPT答案 截图 1.在开发者网站的app id中添加Sign in with Apple功能 1.1 如果你新建app id,记得在…

美特杰橡胶管诚邀您参观2024第13届生物发酵展

参展企业介绍 美特杰橡胶管(上海)有限公司秉持深厚的专业化职业精神。创新材料、独特设计、优良性能、工作细致是我公司市场原则的关键品质。 公司结构: 美特杰十分重视团队精神。通过与同事和商务伙伴保持积极的合作与彼此尊重&#xff0c;持续推进我们的业务发展&#xff0c…

Qt使用QWidget重绘实现圆环形渐变色进度条(支持不确定进度模式)

效果如下&#xff1a; 从纯竖直方向顶部蓝色到底部青色的渐变。 从左上角偏左45到右下角偏右45的蓝色到青色渐变。 从左上角偏左22.5到右下角偏右22.5的蓝色到青色渐变。&#xff08;这个角度渐变最好看&#xff09; 可以选择添加背景图片 支持两种模式&#xff1a;正常进度模…

希尔排序解读

在算法世界中&#xff0c;排序算法是至关重要的一部分。而希尔排序&#xff08;Shell Sort&#xff09;作为一种基于插入排序的改进算法&#xff0c;通过允许交换非相邻元素&#xff0c;从而在一定程度上提高了排序效率。本文将深入探讨希尔排序的原理、实现方式以及它的性能特…

【神经网络】卷积神经网络CNN

卷积神经网络 欢迎访问Blog全部目录&#xff01; 文章目录 卷积神经网络1. 神经网络概览2.CNN&#xff08;Convolutional Neunal Network&#xff09;2.1.学习链接2.2.CNN结构2.2.1.基本结构2.2.1.1输入层2.2.1.2.卷积层|Convolution Layers2.2.1.3.池化层|Pooling layers2.3…

如何制定科学有效的需求流程规范话题浅谈

如何制定科学有效的需求流程规范话题浅谈 过去的需求流程你或者你所在的团队一般是如何管理需求流程的&#xff1f;你是否曾经遇到过需求流程混乱的问题&#xff1f;你认为主要原因是什么&#xff1f;需求关系混乱需求来源复杂团队协作困难 你是否使用过如阿里云云效等工具来优…

SpringBoot之SpringBoot整合MyBatis

本章详情 使用SpringBoot和MyBatis通过注解的方式操作数据库使用SpringBoot和MyBatis通过XML配置文件的方式操作数据库项目搭建 1. 打开idea,选择Create New Project 2.选择Spring Initializer,然后点击Next 3.填写组织,坐标等信息,然后点击Next 4.选择依赖Web,然后勾选Web…

考PMP一定要培训吗?PMP备考可不是说着玩的

想要考项目管理认证一定要培训吗&#xff1f;其实这是必要的也是必须的啦&#xff0c;不仅仅是因为自学的难度大&#xff0c;个人自学很难总结学习技巧&#xff0c;另一个原因就是考试前还必须要有授权培训机构提供的35学时培训证明&#xff0c;没有这个培训证明也就直接意味着…

【数据结构与算法】力扣 142. 环形链表 II

题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统…

jeecg-boot 3.6使用微服务启动详细配置

1&#xff1a;运行sql文件 2&#xff1a;配置host 路径如下 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq 3…