android - 105 字符十六进制的 Google Play 商店应用签名 key 问题

标签 android google-play keystore android-keystore jar-signing

我正在尝试将我的 keystore 添加到 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 个字符的十六进制。

我必须删除多余的空格才能使其正常工作。

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)

key 应该如何生成?为什么 google 给我一个 105 个字符的十六进制 key ,而 pepk 工具无法使用?

最佳答案

有3个选项

  • 让 Google 创建和管理应用签名 key (推荐)
  • 从 Java keystore 导出和上传 key 和证书
  • 导出并上传 key 和证书(不是来自 Java keystore )

我使用的是选项 2,因为我的 keystore 已经创建。

我通过使用选项 3 中提供的加密 key (136 个字符)让它工作

  • 导出并上传 key 和证书(不是来自 Java keystore )
 java -jar pepk.jar --keystore = foo.keystore --alias = foo --output =
 output.zip --encryptionkey = KeyFromOption3WorksHere136CharactersLong

关于android - 105 字符十六进制的 Google Play 商店应用签名 key 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60264938/

相关文章:

java - 我们可以在 Android 编程中使用 Optionals 吗?

android - 原始创建者的帐户过期/被阻止后,无法访问Android开发者控制台

android - 具有相同包但具有不同签名的应用程序

java - 我可以在 Android 上使用 Bouncy CaSTLe Keystore.UBER 吗?

android - 如何恢复 keystore 文件

android - 无法在 Android Studio 中导出已签名的 APK

Android ImageView.setImageURI 缩放图片

Android 6.0 无提示自动获取权限

java - 不幸的是,应用程序在 Android 中的 AVD 上停止了

android - google android 应用内购买测试问题