React Native Android:如何查询App打包使用的签名密钥位置?
定位Android打包签名密钥位置及替换方案
1. 查找项目内配置的签名密钥路径
Android项目的签名配置默认存放在两个位置,搜索storeFile字段即可快速定位:
- 项目根目录下的
gradle.properties:通常会以变量形式存储密钥路径、别名、密码等敏感配置 - 应用模块下的
build.gradle(一般为app/build.gradle):找到signingConfigs配置块,storeFile参数后的值就是当前打包使用的密钥文件路径,一般为.jks或.keystore后缀
若配置用的是相对路径,路径基准为当前
build.gradle文件所在的目录
2. 验证密钥匹配性
找到密钥文件后,执行以下命令输出该密钥的SHA1指纹,和Google Play给出的当前实际使用的SHA1值比对,确认是否为你要找的在用密钥:
keytool -list -v -keystore 替换为你的密钥文件路径 -alias 替换为你的密钥别名
如果提示找不到keytool命令,请先配置JDK环境变量,或者进入JDK安装目录的bin文件夹下执行该命令。输入密钥库密码后,在输出的证书指纹区域即可找到对应SHA1值。
3. 替换为合规密钥
确认当前在用密钥位置后,按场景替换配置即可:
- 本地打包场景:修改
signingConfigs下的storeFile为合规密钥的路径,同步更新storePassword、keyAlias、keyPassword三个参数为合规密钥的对应值 - CI/CD自动打包场景:检查CI平台的环境配置,签名密钥通常以加密文件或变量形式存储在CI配置项中,直接替换对应配置即可
- Android Studio手动打包场景:可直接在
File > Project Structure > Modules > app > Signing Configs路径下修改已保存的签名配置,或者下次走生成签名包向导时选择合规密钥
替换完成后重新打Release包,再次用上述keytool命令验证新包的SHA1和Google Play要求的合规SHA1一致后,即可正常上传。
内容的提问来源于stack exchange,提问作者gkeenley
相关产品推荐
相关产品推荐

