gpt4 book ai didi

android - Google Play 应用签名 - KeyHash 不匹配

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:30:52 27 4
gpt4 key购买 nike

我正在使用新的 Google Play App Signing 来签署我的应用程序,但存在不匹配的 key 哈希。

我在我的应用程序中集成了 Facebook 登录,它说 keyhash 无效。我的 APK 的 keyhash 版本与 Google Play 应用签名过程创建的 keyhash 版本不同。

编辑:我做的步骤:

1) 创建了一个 jks keystore 文件。

2) 创建了一个使用 jks 文件签名的 apk 版本。

3) 在 Google Console Developer 中导入 APK,订阅 Google Play App Signing 修改签名 key 。

4) 在线后,我下载并打开应用程序,Facebook 初始化提示:无效的 key 散列

当我通过下面的代码检查应用程序中的哈希键时,哈希键与 Facebook 所说的无效哈希键不同:

  try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

即使我将 Facebook 所说的 hashkey 放在 Facebook 仪表板中,它也不起作用。Google Play App Signing 似乎在签名过程中修改了 hashkey。你有解决它的想法吗?

最佳答案

您必须使用 Google 生成的 SHA-1 key 。以下步骤将修复它。

1).转到 Google 控制台 => 你的项目 => 设置 => App Integrity => App signing key certificate

2).从那里复制 SHA-1 证书,因为它是十六进制,并且由于 Facebook 在base64 中需要它,所以使用步骤 3 中显示的命令p>

3).回显 步骤 2 中的 SHA-1 key (十六进制) | xxd -r -p | openssl base64
此命令在命令提示符中不起作用,请使用windows 上的 bashgit cli

4).将 base64 key 粘贴到 Facebook 控制台 => 设置 => 基本 => key 散列

关于android - Google Play 应用签名 - KeyHash 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44798378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com