我正在尝试实现 Sms Retriever用于在没有任何 SMS 权限的情况下从用户手机获取 otp。
最初,我使用 keystore(.jks) 生成了一个散列键 描述的 key 工具 here
当我用这个 keystore 对 apk 进行签名并收到带有这个 hashkey 的 SMS 时,它工作正常。
但是将应用程序上传到 google play store 后,短信接收器无法正常工作。我们启用了 google app signing 来对应用程序进行签名。我发现谷歌将删除上传的签名,这是使用谷歌应用程序签名的应用程序的 key ,如所述 here .因此,我试图将谷歌应用程序签名证书添加到上传的 keystore 中,并使用别名创建新的 hashkey。但我无法将应用程序签名证书添加到具有别名的 keystore 中。
有什么建议可以为短信检索器生成带有应用签名证书的散列键吗?
最佳答案
当 Google 的 App Signing 启用时,将生成不带别名的 11 字符散列
The following command computes the hash string from your app's production keystore:
keytool -exportcert -alias MyAndroidKey -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
在上面的命令中,哈希是基于 MyAndroidKey 别名(-alias MyAndroidKey
)生成的。
尝试为已启用 Google APK 签名生成不带别名的哈希值
即
keytool -exportcert -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
关于android - 启用谷歌应用程序签名后,生成的 11 个字符的哈希码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50588947/