Android平台签名证书(.keystore)生成指南
前提条件,需要配置jdk(推荐使用 openJdk),需求配置好安卓开发环境。
适用于 UniApp 离线打包、Android 原生项目打包、发布到应用市场等场景。
一、使用 keytool 生成 .keystore 文件
命令格式
keytool -genkey -v
-keystore your-key.keystore
-alias your-alias
-keyalg RSA
-keysize 2048
-validity 36500
参数说明
参数 说明 -keystore 指定生成的 keystore 文件名 -alias 密钥条目的别名(alias) -keyalg 加密算法(Android 推荐用 RSA) -keysize 密钥长度(推荐 2048) -validity 有效期,单位为天(36500 约等于 100 年) -v 输出详细过程(verbose)
示例
bash
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
执行后会提示输入: • keystore 密码(storePassword) • 证书信息(姓名、组织、城市等) • alias 密码(keyPassword,可与 storePassword 一样)
使用以下命令查看证书信息
bash
keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车
二、在 Gradle 项目中配置签名
编辑 app/build.gradle(或 simpleDemo/build.gradle)添加:
gradle
android {
signingConfigs {
release {
storeFile file("test.keystore") // 指向你的 keystore 文件
storePassword "你的storePassword"
keyAlias "testalias"
keyPassword "你的keyPassword"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
shrinkResources false
zipAlignEnabled true
}
debug {
signingConfig signingConfigs.release
}
}
}
注意: storePassword 和 keyPassword 必须和生成时输入的一致。
三、打包 APK 并签名
命令行打包,生成 release 包
shell
./gradlew assembleRelease
输出文件位置: app/build/outputs/apk/release/app-release.apk
或使用 Android Studio: Build > Build Bundle(s) / APK(s) > Build APK(s)
四、注意事项
- .keystore 一旦丢失,将无法更新已发布应用。
- 强烈建议备份 .keystore 文件和密码信息。
- 不同应用商店对签名一致性有严格要求。
- 使用 Google Play App Signing 功能可减轻密钥遗失风险(建议开启)。