Cordova Android 签名三种方式详解:证书生成、命令行直接签名与配置文件自动签名
给你把 Cordova Android 签名的三种方式一次性讲清楚(生成证书 → 命令行直接签名 → 配置文件自动签名 ),你照着做就能打出已签名的 APK/AAB。
一、先准备:生成签名证书(只做一次)
打开终端 / CMD,keytool 是 JDK 自带,先确认 java -version 能运行。
bash
keytool -genkey -v \
-keystore my-release-key.jks \
-alias my-key-alias \
-keyalg RSA -keysize 2048 -validity 10000
-
my-release-key.jks:证书文件名(放在项目根目录即可) -
my-key-alias:别名(记住,后面要用) -
执行后会让你填:姓名、组织、密码(务必记好两个密码:keystore 密码 和 key 密码)
二、方式一:命令行直接签名(简单直接)
1)打 release 包(未签名)
bash
cordova build android --release -- --packageType=apk
输出:platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk
2)命令行签名(推荐,一行搞定)
bash
cordova build android --release \
-- --keystore=my-release-key.jks \
--storePassword=你的keystore密码 \
--alias=my-key-alias \
--password=你的key密码 \
--packageType=apk
- 成功后直接得到 已签名 APK,路径同上
想打 AAB 就把最后改成:
bash
--packageType=bundle
三、方式二:用 build.json 配置签名(推荐,密码不暴露在命令行)
项目根目录新建 build.json:
json
{
"android": {
"release": {
"keystore": "my-release-key.jks",
"storePassword": "你的keystore密码",
"alias": "my-key-alias",
"password": "你的key密码",
"packageType": "apk"
}
}
}
然后直接执行:
bash
cordova build android --release
Cordova 会自动读取 build.json 并签名
四、方式三:jarsigner 手动签名(适合已有未签名包)
bash
# 签名
jarsigner -verbose -keystore my-release-key.jks \
platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk \
my-key-alias
# 对齐优化(必须)
zipalign -v 4 \
platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk \
app-release-signed.apk
- 得到
app-release-signed.apk就是最终可上线包
五、常见问题
-
zipalign 不是内部命令 :把
android_sdk/build-tools/xxx/加入环境变量 -
证书密码错 :检查
build.json或命令行里的密码(keystore 和 key 是两个密码) -
AAB 签名失败:Cordova 11+ 才支持 AAB 直接签名,建议升级