You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用证书文件签名Android AAB包(无需Keystore/JKS)

用PEM/PK8文件签名AAB并上传Play Store的操作方法

核心说明

AAB的签名依赖Google官方的bundletool工具,它支持直接用你生成的PEM证书和PK8私钥完成签名,不需要转成Keystore/JKS格式,具体步骤如下:

1. 准备bundletool工具

你可以直接用Android SDK自带的bundletool,路径一般是$ANDROID_HOME/build-tools/<对应版本号>/bundletool.jar;如果没有的话,也可以单独下载官方的bundletool jar包。

2. 执行AAB签名命令

直接运行以下命令完成签名:

java -jar bundletool.jar sign \
  --bundle=未签名的AAB文件路径 \
  --output=签名后的AAB输出路径 \
  --private-key=你的key.pk8文件 \
  --certificate=你的certificate.pem文件

举个实际例子,若你的原始AAB叫my-app.aab,想输出成my-app-signed.aab,命令就是:

java -jar bundletool.jar sign \
  --bundle=my-app.aab \
  --output=my-app-signed.aab \
  --private-key=key.pk8 \
  --certificate=certificate.pem

3. 验证签名(可选但推荐)

签名后可以用bundletool验证签名是否有效,避免后续上传出问题:

java -jar bundletool.jar verify --bundle=my-app-signed.aab

4. 上传到Play Store

签名后的AAB可以直接上传到Play Store,但要注意两个关键点:

  • 密钥长度要求:你之前生成的是1024位密钥,Play Store要求密钥长度至少2048位,建议重新生成2048位的密钥对(命令见下方),否则可能会被拒绝上传
  • 证书一致性:首次上传后,后续更新该应用必须使用同一套证书签名,所以要妥善保管你的PEM和PK8文件

补充:重新生成符合要求的2048位密钥对

openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

内容的提问来源于stack exchange,提问作者utarid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:10:35