Java SMS检索器API中已发布APK上的哈希字符串键

Java SMS检索器API中已发布APK上的哈希字符串键,java,android,google-api,sms-retriever-api,Java,Android,Google Api,Sms Retriever Api,有人问了很多这样的问题。但是没有一个对我有用 问题: 我能够在调试模式下使用正确的密钥,并且所有的工作都按预期进行。我已经在play store上发布了我的应用程序,并在签名的apk上使用了相同的类来检索哈希键,但它不起作用。我尝试了前面很多问题中提到的所有其他方法,比如。下面是使用密钥库的代码: keytool -exportcert -alias PlayDeploymentCert -keystore MyProductionKeys.keystore | xxd -p | tr -d "

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

问题:

我能够在调试模式下使用正确的密钥,并且所有的工作都按预期进行。我已经在play store上发布了我的应用程序,并在签名的apk上使用了相同的类来检索哈希键,但它不起作用。我尝试了前面很多问题中提到的所有其他方法,比如。下面是使用密钥库的代码:

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

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

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

谷歌在其文档中正式提到了它。“如果你使用helper类,请确保在获得哈希字符串后将其从你的应用程序中删除”

所以从密钥库文件生成哈希键

检查如何生成哈希字符串:

注意:如果您使用Google Play的应用程序签名,请下载您的应用程序 从应用程序签名部分签名证书(部署证书.der) 谷歌游戏控制台的

然后,将应用程序签名证书导入临时密钥存储


嗨,我已经试过了。但是短信不能用这个键阅读。我已经更新了我的问题,调试键工作正常。所以我认为代码没有任何问题。我关注过官方文档。你的应用程序包名是什么?你需要在生成哈希字符串时提及它。将com.example.myapp替换为您的应用程序包名称,并确保您使用了正确的密钥库文件名。以上是一个示例。我使用正确的密钥库数据和软件包进行了尝试。如果您的应用程序由google play签名,是否确实从google play商店下载了名为deployment_cert.der的应用程序签名证书?是。我有11位数的散列键,但不起作用