我使用Flutter开发了一个应用程序,并使用以下命令在我的设备上进行了测试:
flutter run --release
一切都很好。我还试着用以下代码构建应用程序:
flutter build apk --release
然后手动安装,仍然一切正常。
我上传到商店,现在登录不工作了。我试着看logcat,当我尝试登录时,我得到的错误是:
I/flutter: exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)
我尝试添加appCompat依赖项,并检查了SHA1密钥,一切都在正确的位置,我不知道为什么当我从商店下载时,它不再工作了。
6条答案
按热度按时间6ioyuze21#
您可能需要向API提供商(在本例中为Firebase)注册Play Store应用签名密钥。
1.在Google Play控制台中,访问设置〉应用签名
1.复制
SHA-1 certificate fingerprint
1.在Firebase控制台中,访问设置〉项目设置
1.单击
Add fingerprint
1.将复制的
SHA-1 certificate fingerprint
粘贴到Certificate fingerprint
文本字段1.单击
Save
voase2hg2#
您的应用可能没有令牌API的正确Google凭据。
当你第一次在Google Play控制台注册时,你可能选择了Google的应用签名服务。它的作用是,在你用密钥库对应用进行签名并上传到Play控制台后,Google会用生成的密钥库对应用进行签名,并推出该版本。你可以从控制台访问用于签名发布版本的密钥。在“发布管理”-〉“应用程序签名”-〉“应用程序签名证书”下。
找到证书后,您需要使用SHA1密钥,生成新的Android Oauth凭据,然后将其添加到您的google-services.json。如果您没有使用Firebase,则还需要将Oauth凭据添加到后端。
如果你看看HarshitG在这个Android线程上关于同一问题的回答,你可以看到一张图片,你可以在播放控制台上获得证书信息。
google signIn not working in release mode apk android
nszi6y053#
去你的谷歌播放控制台,在发布管理,你会发现应用程序签名,在那有两个沙键,复制他们没有沙的一部分,以Firebas项目SHA证书指纹APK将在那之后工作.
6mzjoqzu4#
对于那些家伙有这样的问题,他们最好有看看SHA证书指纹分配给他们的firebase帐户。释放和调试SHA证书指纹都是必需的。要做到这一点,你可以:
1.导航到项目中的android文件夹
1.运行此命令
./gradlew signingReport
1.查找版本SHA证书指纹
1.查找调试SHA证书指纹
1.将它们添加到firebase帐户SHA证书指纹
1.重新下载google-services.json
1.将其添加到您的应用程序级文件夹您的任务完成!
x3naxklr5#
对于发行版,您需要确保除调试指纹外,还向firebase添加了两个SHA证书指纹**。一个可以通过keytool检索(上传密钥证书),另一个(应用签名密钥证书)可以从play控制台复制(如上述答案中所述的应用完整性部分)
oxf4rvwz6#
我遇到了这个问题,我这样解决了它:
Add the command below in gradle.properties file:
在我的例子中:
然后,在终端中,将目录更改为android.(我使用windows)
最后,我在终端写了
./gradlew signingreport
,得到了SHA1和SHA-256。然后添加到firebase。