Android Studio中创建apk签名文件
本文以macOS中Android Studio 2021.1.1版本为例介绍创建apk签名文件的操作步骤:
1.启动Android Studio,并打开一个Android项目。
2.依次点击菜单:Build -> Generate Signed Bundle / APK...。
3.在弹出的"Generate Signed Bundle or APK"弹窗中选择"APK"选项,并点击"Next"按钮。
4.在弹窗中点击"Create new..."按钮,以创建一个新的签名文件。
5.在弹出的"New Key Store"弹窗中,填写签名文件信息:
Key store path:选择或输入签名文件的保存路径(比如:/Users/pc/sw/test-sign-key.keystore)。Password:为你的签名库设置一个密码(比如:abc123456)。Confirm:再次输入签名库的密码(比如:abc123456)。Alias:为你的签名条目设置一个别名(比如:test-sign)。Password:为你的签名条目设置一个密码,此密码必须与上述签名库的密码相同(比如:abc123456)。Confirm:再次输入签名条目的密码(比如:abc123456)。Validity (years):设置证书的有效年数(比如:100)。Certificate:First and Last Name:你的名字和姓氏(比如:jack)。Organizational Unit:你的组织单位名称(比如:baidu)。Organization:你的组织名称(比如:baike)。City or Locality:你所在的城市或地区(比如:jinan)。State or Province:你所在的州或省份(比如:shandong)。Country Code (XX):你的国家代码(比如:CN)。
6.点击"OK"按钮,完成签名文件的创建。
7.查看签名文件的信息(其中包括SHA1、SHA256等信息):
终端中执行命令:
keytool -list -v -keystore test-sign-key.keystore
输入密钥库口令时输入刚才设置的密码(比如:abc123456),按回车键,就可以看到输入的信息了:
密钥库类型: PKCS12
密钥库提供方: SUN您的密钥库包含 1 个条目别名: test-sign
创建日期: 2024年8月10日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=jack, OU=baidu, O=baike, L=jinan, ST=shandong, C=CN
发布者: CN=jack, OU=baidu, O=baike, L=jinan, ST=shandong, C=CN
序列号: 75ffc5ee
生效时间: Sat Aug 10 14:24:56 CST 2024, 失效时间: Mon Jul 17 14:24:56 CST 2124
证书指纹:SHA1: 91:D4:B3:91:DB:A6:04:3A:A5:18:92:AE:5B:90:F8:22:7C:D4:69:31SHA256: 1F:70:4A:DF:CB:69:45:60:AC:8C:05:F3:73:45:E2:C0:B1:00:83:D7:8B:09:A0:9C:98:1C:8F:9F:93:4C:6D:9F
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: AB 9C 3B A3 87 47 79 D4 66 F5 C3 4B 90 64 87 7C ..;..Gy.f..K.d..
0010: 2E E7 B1 3B ...;
]
]
相关文章:
Android Studio中创建apk签名文件
本文以macOS中Android Studio 2021.1.1版本为例介绍创建apk签名文件的操作步骤: 1.启动Android Studio,并打开一个Android项目。 2.依次点击菜单:Build -> Generate Signed Bundle / APK...。 3.在弹出的"Generate Signed Bundle or …...
CRC32 JAVA C#实现
项目中用到CRC32进行校验得地方,需要用到C#和java进行对比: 一、C#实现: class CRC32Cls { protected ulong[] Crc32Table; //生成CRC32码表 public void GetCRC32Table() { ulong Crc; …...
本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——5Webscoket节点的使用
本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——5Webscoket节点的使用 有了前面几篇文章的铺垫,现在已经可以实现我到手测试那一步的 1.解读usb_websocket_display.launch.py 首先进入这个目录/root/dev_ws/src/origincar/originca…...
深入学习小程序第二天:事件处理与用户交互
一、概念 1. 事件绑定与类型 在小程序中,通过在组件上添加特定的属性(如 bind 开头的属性)来绑定事件处理函数,以响应用户的交互操作。常见的事件类型包括触摸事件、表单事件和系统事件: 触摸事件:用于响…...
操作系统快速入门(一)
😀前言 本篇博文是关于操作系统的,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉&…...
Spring Cloud微服务性能优化:策略、实践与未来趋势
标题:Spring Cloud微服务性能优化:策略、实践与未来趋势 摘要 在微服务架构中,服务调用链路的性能优化是确保系统高效运行的关键。Spring Cloud作为微服务架构的主流实现之一,提供了多种工具和方法来优化服务间的调用。本文将深…...
秒懂C++之多态
目录 一. 多态的概念 二. 多态的定义及实现 多态的构成条件 虚函数重写的例外 协变(基类与派生类虚函数返回值类型不同) 析构函数的重写(基类与派生类析构函数的名字不同) 练习例题 final override 重载、覆盖(重写)、隐藏(重定义)的对比 三. 抽象类 四. 多态的原理…...
C语言:求最大数不用数组
(1)题目: 输入一批正数用空格隔开,个数不限,输入0时结束循环,并且输出这批整数的最大值。 (2)代码: #include "stdio.h" int main() {int max 0; // 假设输入…...
零门槛成为HelpLook推荐官,邀好友加入,奖励享不停!
什么!? 还有谁不知道HelpLook推荐官计划! 只需要简单地注册加入 在好友成功订阅套餐之后 可一次性获得20%的丰厚现金返佣 HelpLook是一款快速搭建AI知识库的系统,并帮助企业0代码搭建帮助中心、FAQs、SOPs、产品文档、说明书和…...
基于python的图书馆大数据可视化分析系统设计与实现
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...
利用formdata自动序列化和xhr上传表单到后端
//FormData对象是XMLHTTPRequest level2新增的类型,它可以自动序列化表单内容,不再需要我们去写序列化表单方法; FormData()即可以直接把整个表单给它,也可以分别使用append(‘字段’,‘值’)方法给FormData(); 现在就…...
视频号小店大地震?还好我看了原文
关注卢松松,会经常给你分享一些我的经验和观点。 我X,如果不是看了原文,我差点也上当了。虽然视频号小店关闭了450个类目,但又重新开放了412个类目啊。 昨天(8月9日),视频号一口气发了10个公…...
Genymotion adb shell
Genymotion 账户是 qq邮箱 参考 Ubuntu 20.04 安装 Android 模拟器 Genymotion https://www.zzzmh.cn/post/553cd96d4e47490a90b3302a76a93c0d Genymotion adb shell adb shell C:\Program Files\Genymobile\Genymotion\tools>adb shell lsusb Bus 001 Device 001: ID …...
探索AI与社交的交汇点:看Facebook如何引领智能化革命
在当今数字化时代,人工智能(AI)正成为各大科技公司变革的重要驱动力。作为全球领先的社交媒体平台,Facebook(现Meta Platforms)正处于这一智能化革命的前沿。通过不断创新和应用AI技术,Facebook…...
JVM 加载阶段 Class对象加载位置是在 堆中还是方法区?
在JVM(Java虚拟机)的类加载过程中,Class对象的加载位置涉及到堆(Heap)和方法区(Method Area)两个关键区域。具体来说,类的加载阶段涉及到将类的.class文件中的二进制数据读入到内存中…...
Android 获取短信验证
Android 获取短信验证 Android 获取短信验证 输入发短信的手机号,点击获取验证码,等接收到验证码后就会自动获取 SmsReceiver.Java import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; impor…...
负载均衡详细概念介绍之(四层和七层实现)
目录 一、负载均衡介绍 1.1什么是负载均衡 编辑 1.2 为什么要用负载均衡 二、负载均衡的类型 2.1 通过一些硬件实现 2.2 四层负载均衡 2.3 七层负载均衡 三、四层和七层的区别 及特点 一、负载均衡介绍 1.1什么是负载均衡 负载均衡:Load Balance,简称LB&a…...
力扣 | 递增子序列 | 动态规划 | 最长递增子序列、最长递增子序列的个数、及其变式
文章目录 一、300. 最长递增子序列二、673. 最长递增子序列的个数三、变式1、646. 最长数对链2、1218. 最长定差子序列3、1027. 最长等差数列4、354. 俄罗斯套娃信封问题5、1964. 找出到每个位置为止最长的有效障碍赛跑路线 最长递增子序列:原序-递增数值问题 最长定…...
008 | 基于RNN和LSTM的贵州茅台股票开盘价预测
基于RNN和LSTM的贵州茅台股票开盘价预测 项目简介: 本项目旨在通过使用Tushare下载贵州茅台的股票数据,并基于这些历史数据,使用TensorFlow 2.0实现循环神经网络(RNN)和长短期记忆网络(LSTM)来…...
尚硅谷谷粒商城项目笔记——六、使用navciat连接docker中的mysql容器【电脑CPU:AMD】
六、使用navciat连接docker中的mysql容器 注意: 因为电脑是AMD芯片,自己知识储备不够,无法保证和课程中用到的环境一样,所以环境都是自己根据适应硬件软件环境重新配置的,这里的虚拟机使用的是VMware。 1navicat免费…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
