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

【Android】一键创建Keystore + Keystore 参数说明 + 查询SHA256(JDK Keytool Keystore)

在这里插入图片描述


一键创建 Android Keystore 的实用方法与参数详解

在 Android 应用开发与发布中,**Keystore(签名文件)**扮演着至关重要的角色。本文将介绍如何通过 .bat 脚本一键创建 Keystore 文件,并详细讲解每一个参数的含义,帮助你快速掌握签名文件的生成方式及用途。


什么是 Keystore?为什么必须创建?

Keystore 是 Android 应用打包发布时必须使用的 数字签名证书。每个应用必须有唯一签名,Google Play 要求每次上传的 APK 或 AAB 文件都使用 同一签名文件,否则无法进行更新。


一键生成 Keystore 的 .bat 脚本

在 Windows 系统中,我们可以编写一个 .bat 脚本自动创建 Keystore 文件,省去每次输入命令的麻烦。以下是完整脚本内容:

@echo off
setlocal enabledelayedexpansion:: 配置参数
set KEYSTORE_NAME=my-release-key.keystore
set ALIAS_NAME=my-key-alias
set VALIDITY_DAYS=90
set KEY_PASSWORD=123456
set STORE_PASSWORD=123456
set DNAME="CN=IKKYU, OU=EQGIS, O=EQGIS, L=ChengDu, ST=SiChuan, C=CN":: 显示配置信息
echo === 创建 Android Keystore 文件 ===
echo Keystore 文件名: %KEYSTORE_NAME%
echo Alias 名称:      %ALIAS_NAME%
echo 有效期(天):     %VALIDITY_DAYS%
echo 密钥密码:        %KEY_PASSWORD%
echo Keystore 密码:   %STORE_PASSWORD%
echo DName 信息:      %DNAME%
echo.:: 执行生成命令
keytool -genkey -v ^-keystore %KEYSTORE_NAME% ^-alias %ALIAS_NAME% ^-keyalg RSA ^-keysize 2048 ^-validity %VALIDITY_DAYS% ^-storepass %STORE_PASSWORD% ^-keypass %KEY_PASSWORD% ^-dname %DNAME%echo.
echo Keystore 创建成功!路径:%CD%\%KEYSTORE_NAME%
pause

参数详解

我们逐一解释脚本中的关键参数设置:

1. Keystore 配置

参数含义示例
KEYSTORE_NAME生成的 keystore 文件名my-release-key.keystore
ALIAS_NAME密钥别名(alias)my-key-alias
VALIDITY_DAYS证书有效期(单位:天)90(建议用于测试)或 3650(正式发布建议10年以上)
KEY_PASSWORDalias 密码123456
STORE_PASSWORDkeystore 总密码123456

2. DNAME 签名信息字段

签名文件还需要提供一组“身份识别信息”,用于证书的拥有者识别。格式如下:

CN=IKKYU, OU=EQGIS, O=EQGIS, L=ChengDu, ST=SiChuan, C=CN

各字段含义如下:

字段说明示例
CNCommon Name(通用名称,通常是开发者名)IKKYU
OU组织单位(部门)EQGIS
O组织名称(公司名)EQGIS
L城市ChengDu
ST省/州SiChuan
C国家代码CN(中国)

你可以根据自己的公司或团队情况替换这些值。


如何获取 SHA256?

创建完成后,你可以使用以下命令查看 keystore 的指纹(SHA1 或 SHA256):

keytool -list -v -keystore my-release-key.keystore

输入密码后,会显示如下内容:

  • SHA1:用于 Firebase、Google 登录等
  • SHA256:用于更高安全要求的服务验证

在这里插入图片描述


使用建议

  • 用于测试的 keystore 有效期可以设短一些(如 90 天);
  • 用于上线发布的 keystore 有效期建议设为 10~30 年(如 3650、10950 天);
  • keystore 文件和密码应 严格保管、加密备份,遗失后将无法更新已发布的 App。

如何在 build.gradle 中使用?

app/build.gradlesigningConfigs 中引入刚才创建的 keystore 文件:

android {signingConfigs {release {storeFile file("my-release-key.keystore")storePassword "123456"keyAlias "my-key-alias"keyPassword "123456"}}buildTypes {release {signingConfig signingConfigs.releaseminifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
}

结语

通过本文介绍的 .bat 脚本,你可以高效地生成 Android Keystore 签名文件并配置各项参数。这对于发布正式版本、接入第三方服务或实现自动化构建都有重要意义。希望本文能帮助你理解和掌握 Keystore 的生成与使用流程!


http://www.xdnf.cn/news/7212.html

相关文章:

  • 【神经网络与深度学习】GAN 生成对抗训练模型在实际训练中很容易判别器收敛,生成器发散
  • 【物联网】 ubantu20.04 搭建L2TP服务器
  • 电脑安装程序报错写入注册表失败
  • 基于51单片机教室红外计数灯光控制—可蓝牙控制
  • 为什么wifi有信号却连接不上?
  • Oracle 数据库的默认隔离级别
  • 探索C++面向对象:从抽象到实体的元规则(上篇)
  • docker介绍与常用命令汇总
  • C语法备注01
  • 项目记录:「五秒反应挑战」小游戏的开发全过程
  • 「NameCraft · 幻想命名器」开发记:我和 CodeBuddy 的一次奇幻共创之旅
  • MySQL之函数
  • 洛谷U536262 井底之“鸡”
  • 初识 Redis
  • 云计算简介:从“水电”到“数字引擎”的技术革命
  • LeetCode 219.存在重复元素 II
  • OpenCV CUDA 模块中的矩阵算术运算-----在频域(复数频谱)中执行逐元素乘法并缩放的函数mulAndScaleSpectrums()
  • OSPF路由撤销及优化
  • 集成电路生产测试中CP针卡(Probe Card)简介
  • 深度强化学习 | 基于SAC算法的移动机器人路径跟踪(附Pytorch实现)
  • Redis学习打卡-Day4-Redis实现消息队列
  • 企业开发工具git的使用:从入门到高效团队协作
  • RabbitMQ通信模式(Simplest)Python示例
  • Codeforces 1017 Div4(ABCDEFG)
  • 【第三十六周】LoRA 微调方法
  • 09 错误代码重定向
  • 三:操作系统线程管理之线程概念
  • 数据库触发器Trigger
  • Hugo 安装保姆级教程(搭建个人blog)
  • 2025.05.17得物机考笔试真题第三题