问题是 SHA1 不匹配,
1]第一个密钥库文件:我解决了这个错误,问题是在构建 apk Android studio 时获取了位于内部的默认密钥库文件C:\Users\<LOGGED_IN_USER_NAME>\.android\debug.keystore
2]第二个密钥库文件:我还创建了另一个密钥库文件,该文件位于不同的目录,即 app/keystore/debug.keystore
在配置 google 开发者控制台以将 gmail 登录集成到应用程序中时,我提供了通过上面的第二个密钥库文件生成的 sha-1 密钥,工作室在构建 apk 文件时采用其他密钥库文件,因此发生了 sha-1 密钥不匹配。
为了获取我的密钥库文件位于@app/keystore/debug.keystore
我使用以下代码在应用程序级别配置了 gradle 文件:
signingConfigs {
debug {
storeFile file('keystore/debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
/*
release {
storeFile file('release.keystore')
storePassword "mystorepassword"
keyAlias "mykeyalias"
keyPassword "mykeypassword"
}
*/
现在,生成的 apk sha-1 签名与在 Google 开发者控制台上为您的应用程序配置的 sha-1 密钥匹配。
需要注意的是:始终使用 debug.keystore 来调试 gmail 集成(在开发时)。
Refs :
对于 Gmail 集成:https://developers.google.com/identity/sign-in/android/start-integrating https://developers.google.com/identity/sign-in/android/start-integrating
要查看您的应用程序正在使用哪个 sha-1,请参阅此 stackoverflow 线程:密钥库证书的 SHA-1 指纹 https://stackoverflow.com/questions/15727912/sha-1-fingerprint-of-keystore-certificate