[Android Studio] Android Studio生成数字证书,为应用签名

news2024/11/18 5:34:19

 🟧🟨🟩🟦🟪 Android Debug🟧🟨🟩🟦🟪


Topic 

发布安卓学习过程中遇到问题解决过程,希望我的解决方案可以对小伙伴们有帮助。


📋笔记目录 

🐻Android Studio创建数字证书

🚩结尾


Android 系统要求所有 APK 必须先使用证书进行数字签名,然后才能安装到设备上或进行更新。当准备发布应用时,你需要为你的应用签名并将其上传到应用商店。生成签名的方式有很多种,本篇演示的是如何通过Android Studio创建签名流程。

在很多的第三方应用的使用上都需要提供Android 项目的证书获得授权后才能正常使用其功能。

🐻Android Studio创建数字证书


在菜单栏中,依次点击 Build > Generate Signed Bundle/APK

在 Generate Signed Bundle or APK 对话框中,选择 Android App Bundle 或 APK,然后点击 Next

 在 Key store path 字段下,点击 Create new

  1. 在 New Key Store 窗口中,为您的密钥库和密钥提供以下信息,如图 1 所示。

 

🎯Key Store属性详解

Key store path: 选择创建秘钥库的 位置,自己选择位置,并设置文件名。

Password: 秘钥库的安全密码

Confirm: 确认密码

Alias: 密钥的一个标识名。

Password: 为密钥创建并确认安全的密码。此密码应当与秘钥库的密码不同。

Validity (years): 以年为单位设置密钥的有效时长。密钥的有效期应至少为 25 年。

Certificate: 为证书输入一些关于自己的信息。此信息不会显示在应用中,但会作为 APK 的一部分包含在您的证书中。


📋Certificate 证书信息填写

First and Last Name:名称

Organizationl Unit:组织单元(一般为公司部门名称)

Organization:机构(一般为公司名,如:aaa)

City or Locality:城市

State or Province:省份

Country Code(XX):国家代码(如中国:CN)


继续往下操作:
注意的是,这里我们设置的密钥(key password & Key store password) 一定要记住,后面在读取数字证书的内容时需要用到用来验证,key password & Key store password建议设置成一样的

上述步骤已经完整证书的生成。如果想使用生成的证书签署APK,则可以继续按照Android Studio 的引导步骤进行,或者直接点击Finish退出。

在数字证书的存储位置中,我们可以找到我们所生成的.jks后缀的数字证书文件,下面将演示如何读取数字证书。

🚩结尾

本篇讲述了如何在Android 创建一个数字证书,如果想读取数字证书里的内容(分为Debug 调试版数字证书,release 发布版数字证书),请参阅本刊的这篇文章

(2条消息) [Android Studio] Android Studio使用keytool工具读取Debug 调试版数字证书以及release 发布版数字证书_陈丹宇jmu的博客-CSDN博客icon-default.png?t=N176https://blog.csdn.net/weixin_51989356/article/details/129246839


🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
🌈写给读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事顺意🏳️‍🌈

       

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python+ADCIRC潮汐、风驱动循环、风暴潮等海洋水动力模拟

目录 专题一 ADCIRC背景与原理 专题二 ADCIRC的编译安装 专题三 ADCIRC模式前处理 专题四 ADCIRC案例分析 专题五 Python基础与科学计算 专题六 ADCIRC模式后处理 学习包含ADCIRC模式的基础到高阶的内容,针对风暴潮的模拟和预报,既有基础理论讲解&…

Linux环境内存管理——链表

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows程序员如何学习Linux环境内存管理。由于很多程序在Windows环境下开发好后,还要部署到Linux服务器上去,所以作为Windows程序员有必要学习Linux环境的内存…

CD销售管理系统

技术:Java、JSP等摘要:二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着Internet的飞速发展,使得网络的应用…

【深度学习】RNN

1. 什么是RNN 循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递…

Spring彻头彻尾的讲解,按照Spring框架启动流程,逐步剖析问题,不再是大杂烩!

文章目录1. 定义Spring Bean篇1.1 定义Spring Bean的几种方式1.1.1 XML文件定义Spring Bean1.1.2 JavaConfig定义Spring Bean1.1.3 Component注解定义SpringBean1.2 装配Spring Bean的四种常用方式1.2.1 手动装配 XML文件1.2.2 自动装配 XML文件1.2.3 手动装配 JavaConfig文…

冲冲冲,力扣javascript刷题——数组总结

力扣javascript刷题——数组总结冲冲冲,力扣刷题——数组总结1.二分查找力扣704题:二分查找35.搜索插入位置34.在排序数组中查找元素的第一个和最后一个位置69.x 的平方根367. 有效的完全平方数2.双指针法27. 移除元素26. 删除有序数组中的重复项283.移动零844. 比较…

Spring 大白话系列:工厂

Spring 大白话系列:工厂 “工厂模式,大家都很熟悉了。说到底,就是解除创建对象和使用对象之间的耦合。这东西没啥啊。” 教室里,老师傅听到小明在嘀嘀咕咕的。老师走过去问: “有什么问题呢小明同学?” 小…

三、Buffer has no PTS和runtime check failed

1 问题来源 1.1 Buffer has no PTS 我使用mp4mux或者qtmux的时候,偶尔会出现Buffer has no PTS问题。 PTS(时间戳)是用于标识音视频数据在时间轴上的位置的重要参数,缺少时间戳信息会导致无法确定数据在时间轴上的位置&#xf…

Java单元测试浅析(JUnit+Mockito)

Java测试我们应该都遇到过,一般我们会被要求做单元测试,来验证我们代码的功能以及效率。 这里来和大家一起探讨下有关单于测试。 什么是单元测试? 是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般…

C/C++开发,无可避免的内存管理(篇四)-智能指针备选

一、智能指针 采用C/C开发堆内存管理无论是底层开发还是上层应用,无论是开发新手,还是多年的老手,都会不自觉中招,尤其是那些不是自己一手经历的代码,要追溯问题出在哪里更是个麻烦事。C/C程序常常会遇到程序突然退出&…

Idea启动多个SpringBoot项目的3种方案

​ 悟纤:师傅,你最近是哪去了,这上班都快1个月了,都没见你踪影,你这是上哪里去放纵去了吗? 师傅:徒儿,你说的这是啥话,是放松,不是放纵,为师严重…

axicom的测试文档

目录)SQLpython开放性业务题(二选一)完整代码SQL 问题描述 SQL, 请根据前一周各产品的总GMV将其分成五类:GMV Top 20%、20%-40%,40%-60%,60%-80%以及Bottom 20%的产品组,请计算这五…

【Java】创建多线程的四种方式

一、方式1:继承Thread类 步骤: 创建一个继承于Thread类的子类重写Thread类的run()方法 ----> 此线程执行的操作声明在方法体中创建当前Thread子类的对象通过实例对象调用start()方法,启动线程 ----> Java虚拟机会调用run()方法 注意…

QuickHMI Hawk R3 Crack

基于网络的 SCADA / HMI 系统 QuickHMI Hawk R3 QuickHMI是一个 100% 基于网络的SCADA/HMI 系统。 得益于HTML5、SVG和Javascript等现代网络技术,可视化可以在任何当前浏览器和设备中显示。作为浏览器的替代品,可以使用“独立查看器”和移动应用程序。 Q…

react react-redux学习记录

react react-redux学习记录1.原理2.怎么用呢2.1 容器组件2.2UI组件2.3 App.jsx3.简化3.1简写mapDispatch3.2 Provider组件的使用3.3整合UI组件和容器组件1.原理 UI组件:不能使用任何redux的api,只负责页面的呈现、交互等。 容器组件:负责和redux通信&…

Orcad原理图放置辅助线的方法

Orcad原理图放置辅助线的方法 设计当中,可以通过放置辅助线来标识信号方向或者对功能模块进行分块标识。 1)执行菜单命令“Place-Line”(快捷键“ShiftL”),激活放置状态。 2)在一个合适的位置单击鼠标左键…

零基础该如何转行Python工程师?学习路线是什么?

最近1年的主要学习时间,都投资到了 python 数据分析和数据挖掘上面来了,虽然经验并不是十分丰富,但希望也能把自己的经验分享下,最近也好多朋友给我留言,和我聊天,问我python该如何学习,才能少走…

字节前端必会面试题(持续更新中)

事件传播机制(事件流) 冒泡和捕获 谈一谈HTTP数据传输 大概遇到的情况就分为定长数据 与 不定长数据的处理吧。 定长数据 对于定长的数据包而言,发送端在发送数据的过程中,需要设置Content-Length,来指明发送数据的长度。 当…

前端面试题——性能优化 高频

目录 一、CDN的概念 二、CDN的原理 三、懒加载的实现原理 四、对节流与防抖的理解 五、实现节流函数和防抖函数 六、回流与重绘的概念及触发条件 七、如何避免回流与重绘? 八、如何对项目中的图片进行优化? 九、如何⽤webpack来优化前端性能&…

Python 简单可变、复杂可变、简单不可变、复杂不可变类型的copy、deepcopy的行为

copy模块:copy:浅拷贝deepcopy:深拷贝简单可变类型、复杂可变的copy()、deepcopy():简单不可变、复杂不可变类型的copy()、deepcopy():结论:对于简单类型的可变类型copy是深拷贝,改变了该拷贝变…