如何为现有Expo项目生成Google Play App Signing签名密钥
适配选项说明
你应该选择第二项:从Java keystore导出并上传密钥。
Expo项目默认生成的应用签名密钥都存储在Java keystore格式的文件中,无论你是自行管理密钥还是用Expo托管密钥,都匹配该选项的要求,操作复杂度最低。
前置准备:获取项目原有签名keystore
- 如果你是自行管理签名密钥:直接找到此前打包APK使用的
.keystore文件,留存好三个对应参数:密钥别名、密钥密码、keystore存储密码 - 如果你是Expo托管签名密钥:执行命令
eas credentials,选择Android平台,选择导出keystore选项,按照提示操作即可把托管的keystore下载到本地,同时页面会展示对应的密码、别名信息,自行留存即可
步骤1:导出Play App Signing要求的加密私钥
提前确保本地安装了Java环境,keytool、openssl命令可正常使用:
- 首先从keystore导出PEM格式证书,执行命令:
keytool -export -rfc -alias 你的密钥别名 -file upload_certificate.pem -keystore 你的keystore文件路径.keystore
按照提示输入keystore密码后,会在当前目录生成upload_certificate.pem文件 - 回到Google Play Console的Play App Signing接入页面,下载该页面提供的两个文件:加密工具
pepk.jar、Google官方公钥文件,同时复制页面展示的公钥字符串 - 执行加密命令生成待上传的私钥包:
java -jar pepk.jar --keystore=你的keystore文件路径.keystore --alias=你的密钥别名 --output=encrypted_private_key.zip --encryptionkey=刚才复制的公钥字符串
按照提示输入密码后,会生成encrypted_private_key.zip加密文件
步骤2:上传密钥到Play Console
回到Play App Signing接入页面,选择第二项从Java keystore导出并上传密钥,上传刚才生成的encrypted_private_key.zip文件,按照页面提示确认提交即可。
注意:完成接入后不会影响已有用户的应用更新,不会出现签名不匹配的问题
步骤3:配置Expo输出AAB格式
在项目的eas.json配置文件中指定安卓构建类型为AAB即可,示例配置:
{ "build": { "production": { "android": { "buildType": "app-bundle" } } } }
后续打包执行命令 eas build --platform android --profile production 即可生成符合Google Play要求的AAB安装包,直接上传即可。
内容的提问来源于stack exchange,提问作者AKclown
相关产品推荐
相关产品推荐

