Cordova Android 签名三种方式详解:证书生成、命令行直接签名与配置文件自动签名

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 直接签名,建议升级


相关推荐
xcl092529 分钟前
北京24小时自助健身房系统软件开发实战:从架构到部署全流程指南
java·spring boot·架构
一 乐2 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
卓怡学长2 小时前
w214基于jsp知道特产网
java·intellij-idea
步行cgn3 小时前
Spring 注解使用详解
java·spring
其实防守也摸鱼3 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
一条小小yu3 小时前
Spring IoC的理解
java·后端·spring
落魄实习生3 小时前
Agent Scope Java 2.x 系列【7】工具使用
java·开发语言·ai
旺仔学长 哈哈3 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
狗凯之家源码网4 小时前
微博图床 PHP 系统搭建与实战应用指南
android·开发语言·php