SuperAPI AI 工具集

android-keystore-generation

编程与开发

查看项目

更新于 10-15 22:13

技能介绍

用途:为 Android 应用发布签名生成两套密钥库(keystore):production(仅用于 CI/CD)与 local development(本地开发测试),并输出凭据说明文件。

前提:已安装 JDK(keytool 可用),对项目目录有写权限。

输入:project_path(必填,默认 .)、organization(必填,用于证书 DN)、country_code(选填,默认 US)。

主要流程:从 build.gradle.kts 的 applicationId 自动检测组织名,但必须提示用户确认(提供自动检测值为默认,等待用户输入);密码可选择由用户自行提供(推荐,代理不接触密码,用户手动运行 keytool)或由工具生成(生成期间代理可看到密码,密码会存入临时文件与 KEYSTORE_INFO.txt)。随后创建 keystores 目录,分别生成 production-release.jks(别名 upload)和 local-dev-release.jks(别名 local-dev),均为 PKCS12、RSA 2048、有效期 10000 天。示例命令:keytool -genkeypair -v -keystore keystores/production-release.jks -storetype PKCS12 -alias upload -keyalg RSA -keysize 2048 -validity 10000 -storepass "{PASSWORD}" -keypass "{PASSWORD}" -dname "CN=Android Release, OU=Android, O={ORGANIZATION}, C=US"。接着生成 keystores/KEYSTORE_INFO.txt 记录密码与 GitHub Secrets 及 gradle.properties 配置,并将 keystores/ 与 *.jks 写入 .gitignore。最后验证文件存在、凭据已记录、已被 gitignore。

输出:keystores/production-release.jks、keystores/local-dev-release.jks、keystores/KEYSTORE_INFO.txt。

限制:需 keytool(JDK)与可选的 openssl;生产库严禁在开发者机器本地使用。缺失 keytool 时需安装 JDK 17(如 brew install openjdk@17 或 apt install openjdk-17-jdk);缺失 openssl 时可用 head -c 24 /dev/urandom | base64 生成密码。具体平台、收费、价格等资料未提供。