android - 105 char hex 的 Google Play 商店应用签名密钥问题
问题描述
我正在尝试将我的密钥库添加到 Google Play 应用签名中。
指南提到
java -jar pepk.jar --keystore = foo.keystore --alias = foo --output = output.zip --encryptionkey = The_Hex_Which_Is_105_Char
The_Hex_Which_Is_105_Char
是 google 在说明中提供的 105 char hex。
我必须删除多余的空格才能使其正常工作。
java -jar pepk.jar --keystore=my.keystore --alias=myAlias --output=output.zip --encryptionkey=The_Hex_Which_Is_105_Char
但运行这个我得到一个错误:
Error: Unable to export or encrypt the private key
java.lang.IllegalArgumentException: Hex encoded byte array must have even length but instead has length: 105. Hex encoded string: The_Hex_Which_Is_105_Char
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.fromHex(ExportEncryptedPrivateKeyTool.java:225)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:149)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:110)
密钥应该如何生成?为什么 google 给我一个 105 char 十六进制密钥,而 pepk 工具不能使用?
解决方案
有3个选项
- 让 Google 创建和管理应用签名密钥(推荐)
- 从 Java 密钥库导出和上传密钥和证书
- 导出和上传密钥和证书(不是从 Java 密钥库)
我正在使用选项 2,因为我的密钥库已经创建。
我通过使用选项 3 中提供的加密密钥(136 个字符)让它工作
- 导出和上传密钥和证书(不是从 Java 密钥库)
java -jar pepk.jar --keystore = foo.keystore --alias = foo --output = output.zip --encryptionkey = KeyFromOption3WorksHere136CharactersLong
推荐阅读
- r - 如何修复自定义ggplot2函数中的“替换有[x]行,数据有[y]”错误?
- python - 有没有一种简单的方法可以用 matplotlib 来回擦洗一系列情节?
- c++ - 使用 CPack 创建符号链接
- asp.net-mvc - 如何在 ASP.NET MVC 的 ValidateModelAttribute 中获取模型的名称
- python - Django 是否对通过“values()”或“values_list()”访问预取的 M2M 字段进行附加查询?
- d3.js - d3 v5 中的树形图不再支持节点
- html - 如何在 Html 中设置对象并行
- python - Django - 使用 mysql.connector.django 给出类型错误:字符串格式化期间并非所有参数都被转换
- google-apps-script - 使用谷歌电子表格/日历创建事件后获取事件 ID
- docker - 如何运行在 Docker.com 上注册的 Docker 镜像?