我正在尝试将我的密钥库添加到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
是谷歌在说明中提供的105个字符的十六进制。
我不得不去掉多余的空间才能工作。
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)
密钥应该如何生成?为什么谷歌给了我一个105个字符的十六进制密钥,而pepk工具却不能使用?
有3个选项
- 让谷歌创建和管理应用程序签名密钥(推荐(
- 从Java密钥库导出并上传密钥和证书
- 导出并上传密钥和证书(不是从Java密钥库(
我使用选项2,因为我的密钥库已经创建。
我使用选项3中提供的加密密钥(136个字符(使其工作
- 导出并上传密钥和证书(不是从Java密钥库(
java -jar pepk.jar --keystore = foo.keystore --alias = foo --output = output.zip --encryptionkey = KeyFromOption3WorksHere136CharactersLong