首页 > 解决方案 > CI/CD 颤振、firebase、android play store 不工作

问题描述

我正在尝试使用 github 操作/flutter 为 android 设置 CI/CD。谷歌登录在本地工作,但在从 github 操作部署后它不能。看起来firebase中没有匹配的SHA。我正在调试 github 操作构建输出gradle signingReport并且看起来没有debug.keystore并且由于某种原因我使用的所有库都使用调试密钥存储完全签名,并且只有它自己的应用程序才使用发布密钥签名。由于这个原因,谷歌登录不起作用。

你知道为什么其他库用调试密钥签名吗?有没有办法用释放密钥对它们进行签名?或者也许我应该将 android 调试密钥存储传递给 github 操作(我在许多博文中发现 0 次提及此问题)

CI/CD 的输出:

> Task :app:signingReport
Variant: profileUnitTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
Error: Missing keystore
----------
Variant: debugUnitTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
Error: Missing keystore
----------
Variant: releaseUnitTest
Config: release
Store: /home/runner/work/_temp/key.jks
Alias: ***
MD5: 10:....:C8
------------->  SHA1: 6F:93:......95:98
SHA-256: 48:.......:6F
Valid until: Sunday, June 21, 2048



---------> Task :google_sign_in:signingReport
Variant: releaseUnitTest
Config: none
----------
Variant: debugAndroidTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
------------> Error: Missing keystore
----------
Variant: profileUnitTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
Error: Missing keystore
----------
Variant: debugUnitTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
Error: Missing keystore
----------

> Task :image_cropper:signingReport
Variant: releaseUnitTest
Config: none
----------
Variant: debugAndroidTest
Config: debug
Store: /home/runner/.android/debug.keystore
Alias: AndroidDebugKey
Error: Missing keystore
----------

PS Build.gradle 配置了发布标志

PPS 如果我上传到在 PC 上制作的商店发布版本 - 一切正常

标签: androidfluttergoogle-signincode-signinggithub-actions

解决方案


在我的情况下,它缺少由 Play 商店生成的 SHA(可以在“应用程序完整性”下找到)并且必须复制到 firebase。

但是调试标志问题仍然存在,并在此处进行跟踪:https ://github.com/flutter/flutter/issues/76484


推荐阅读