【问题标题】:HASH string key on published APK in SMS Retriever APISMS Retriever API 中已发布 APK 上的 HASH 字符串键
【发布时间】:2020-07-28 20:18:28
【问题描述】:

问了很多这样的问题。但没有一个对我有用。

问题:

我能够在调试模式下使用AppSignatureHelper.java 获得正确的密钥,并且一切都按预期工作。我已经在 Play Store 上发布了我的应用程序,并在已签名的 apk 上使用了相同的类来检索 HASH 密钥,但它不起作用。我尝试了很多以前的问题中提到的所有其他方法,比如this。以及下面使用密钥库的代码:

keytool -exportcert -alias PlayDeploymentCert -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11

他们都没有在已发布的应用程序中工作。短信根本看不懂!!任何帮助将不胜感激。

【问题讨论】:

  • 你的应用包名是什么?
  • 生成哈希字符串时需要提及。将 com.example.myapp 替换为您的应用程序包名称,并确保您使用正确的密钥库文件名
  • 以上是一个示例。我尝试使用正确的密钥库数据和包
  • 如果您的应用由 google play 签名,您确定您从 google play 商店下载了名为 deployment_cert.der 的应用签名证书吗?
  • 是的。我有 11 位 HASH 密钥,但它不起作用

标签: java android google-api sms-retriever-api


【解决方案1】:

您应该从密钥库文件中获取哈希密钥,而不是从 AppSignatureHelper 类...

Google 在其文档中正式提到了它“如果您使用帮助器类,请确保在获得哈希字符串后将其从您的应用程序中删除”

所以从密钥库文件中生成散列密钥...

查看如何生成哈希字符串:Computing your app hash string

注意:如果您使用 Google Play 应用签名,请下载您的应用 来自 App 签名部分的签名证书 (deployment_cert.der) Google Play 控制台的。

然后,将应用签名证书导入临时密钥库

【讨论】:

  • 嗨,我已经试过了。但是使用此键无法读取短信。我已经更新了我的问题
  • 调试键工作正常。所以我认为代码没有任何问题。我已经关注了官方文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
  • 2019-09-14
  • 2019-07-18
  • 1970-01-01
  • 2019-07-26
  • 2019-08-08
相关资源
最近更新 更多