And*_*ppi 19 dart google-play firebase google-signin flutter
我使用 Flutter 开发了一个应用程序,并使用以下命令在我的设备上进行了测试:
flutter run --release
Run Code Online (Sandbox Code Playgroud)
一切正常。我还尝试使用以下方法构建应用程序:
flutter build apk --release
Run Code Online (Sandbox Code Playgroud)
并手动安装它,仍然一切正常。
我在商店上传了,现在登录不起作用了。我尝试查看 logcat,尝试登录时出现的错误是:
I/flutter: exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)
Run Code Online (Sandbox Code Playgroud)
我尝试添加 appCompat 依赖项并检查了 SHA1 密钥,一切都在正确的位置,我不知道为什么当我从商店下载它不再工作时。
小智 28
您的应用程序可能没有用于令牌 API 的正确 Google 凭据。
当您第一次在 Google Play 管理中心注册时,您可能选择了 Google 的应用签名服务。这样做的作用是,在您使用密钥库签署应用程序并将其上传到 Play 管理中心后,Google 实际上会使用生成的密钥库签署您的应用程序并推出该版本。您可以从控制台访问发布版本签名的密钥,在发布管理 -> 应用签名 -> 应用签名证书下。
找到证书后,您需要使用 SHA1 密钥,并生成新的 Android Oauth 凭证,然后将其添加到您的 google-services.json。如果您不使用 Firebase,则还必须将 Oauth 凭据添加到后端。
如果您查看 HarshitG 在此 Android 线程上关于同一问题的回答,您会看到一张图片,说明您可以在 Play 控制台上获取证书信息的位置。
Jon*_*Saw 28
您可能必须向 API 提供商(在本例中为 Firebase)注册您的 Play 商店应用签名密钥。
在您的 Google Play 管理中心中,访问设置 > 应用签名
复制 SHA-1 certificate fingerprint
在 Firebase 控制台中,访问设置 > 项目设置
点击 Add fingerprint
粘贴复制SHA-1 certificate fingerprint到Certificate fingerprint文本框
点击 Save
ash*_*sut 13
编辑:您还可以查看有关此主题的长篇博客文章,其中包含详细插图。
您的应用程序需要由签名证书/密钥库(即 .jks 文件)签名才能创建发布版本。发布版本是在调试模式或发布模式下创建的(我们将进一步了解这一点)
您会遇到 3 种类型的密钥库文件:-
使用生成的调试密钥库./gradlew signingReport(创建flutter项目时默认提供调试密钥)
上传按照这些说明生成的密钥库(这对于创建“发布版本”很有用。因此请使用它而不是调试密钥)
部署密钥库/ Play 签名密钥库,当您首次尝试在其中上传应用程序包时,由 Play 管理中心自动生成。(您可以在 找到它Setup > App integrity > App signing)。此密钥库由 Google 保留。您无权访问其.jks文件。所以它很安全,不会迷路。
现在,我想说,如果您希望在 Play 商店上获取您的应用程序,请不要生成Debug keystore。生成并始终仅使用您的上传密钥库。
为什么这很重要?
即使您尝试使用
flutter build appbundlewith--release标志,您也会得到一个在调试模式app-release.aab下签名的!您永远无法在 Play 商店中发布以调试模式签名的应用程序。
这个解释应该让您明白为什么有些答案是错误的,建议获取调试密钥库
某些 Google Play 服务(例如 Google 登录和应用邀请)要求您提供SHA-1签名证书
因此,如果您使用上传密钥库对应用程序进行签名,请将上传密钥库SHA-1的指纹添加到Firebase Console > Settings Icon > Project settings > Add fingerprint
您可以使用以下SHA-1方式获取上传密钥库keytool -v -list -keystore /path/to/upload-keystore.jks
此外,您还可以在 Play Console 上获取上传密钥库SHA-1和部署密钥库:Setup > App integrity > App signing
SHA-1我应该添加哪一个?SHA-1Play 管理中心有两个。您必须将两个SHA-1指纹添加到 firebase 中。
为什么?
CHA*_*HE. 12
转到您的 google play 控制台,在发布管理中,您会找到应用签名,在其下有两个 Sha 密钥,将它们不带 sha 部分复制到 firebas 项目 SHA 证书指纹 apk 将在此之后工作。
小智 8
对于那些遇到此类问题的人,他们最好查看分配给其 Firebase 帐户的 SHA 证书指纹。发布和调试 SHA 证书指纹都是必需的。为此,您可以:
./gradlew signingReport| 归档时间: |
|
| 查看次数: |
8704 次 |
| 最近记录: |