提问者:小点点

SHA 证书火库调试/发布


我的Android应用程序正在使用Firebase实时数据库,我已经放置了应用程序调试SHA证书指纹,当我使用调试模式测试我的应用程序时,它可以工作并且我从数据库获取数据,现在当我想签名并发布应用程序时,“我对以前的应用程序做了什么:我从Firebase项目控制台中删除了调试SHA证书指纹,然后我放置了发布SHA证书指纹,应用程序已打开现在的市场,没关系“,但我想知道:

Q1)当我用发行版删除了调试SHA证书指纹时,当我在调试模式下运行我的应用程序时,它仍然可以工作?

Q2) 我应该在 Firebase 控制台中放置调试和发布 SHA 证书指纹吗?

Q3)如果我将调试和发布SHA证书指纹放在Firebase控制台中,然后下载从Firebase提供的新配置文件,我的数据库连接仍将在发布和调试模式下工作?


共3个答案

匿名用户

以下是您问题的答案。

    < li >只有当您仍然拥有用于调试模式的< code >调试SHA证书指纹时,它才会起作用。不然就不行了。 < li >是的,您应该在Firebase控制台中添加< code>debug和< code>release SHA证书指纹。 < li >是的,如果您将< code>debug和< code>release SHA证书指纹放在Firebase控制台中,并且如果您再次下载< code > Google-services . JSON 文件并将其放在项目中的正确位置,您的数据库连接仍将在发布和调试模式下工作。

匿名用户

您必须在 Firebase 控制台中为“调试”和“发布”创建两个单独的项目。

    < li >将各自的SHA键放入这些项目中。 < li >您有两个不同< code > Google-services . JSON 文件。

现在您必须在appbuild.gradle文件中创建两个bulidType。例如。

buildType{
    release{
   //define your keys here 
    }
    
    debug{
   //define your keys here 
   
    }

}

在项目中,src创建两个名为debug的文件夹

project-->src-->create folder debug and release 

google-services.json文件放在相应的文件夹中

Gradle将根据构建类型自动选择您的帐户。

匿名用户

在阅读了数十种资源和帮助等之后,我发现,由于Gooogle不断需要不断更改方法和UI,答案很快就会过时。而谷歌本身在展示一个简单的方法来实现某件事上做得很差,而不是多个替代方法,这只会增加混乱。

证书不仅需要用于数据库(如OP所要求的),还需要用于Google登录等。

因此,对于所有此类情况,以下是截至2022年10月的当前步骤。请注意,根据您想要实现的目标,有3个不同的关键:

A.调试键

B、 释放键

C.应用程序签名密钥

  1. 首先使用各种方法从 Android Studio 生成 A. 调试密钥。 此处列出了 2 个: https://developers.google.com/android/guides/client-auth - 通过 keytool 和 Gradle 签名报告。我发现 Gradle 签名报告很容易用于获取 SHA1 密钥。

下载谷歌服务json并将其插入Android Studio。在模拟器中测试您的应用程序(调试版本),它应该可以正常工作,因为调试密钥已在Firebase和谷歌服务json中设置。

现在对于生产app,ie发布版本——用B或者c。

  • B. 发布密钥:使用 keytool 命令从 Android Studio 中的发布/上传密钥库生成 SHA1 密钥。使用“添加指纹”将密钥添加到同一应用下的 Firebase 控制台。再次下载 google services json 并将其插入 Android Studio。生成发布APK并在本地设备等上进行测试 - 这也应该可以正常工作,因为发布密钥已在Firebase和Google服务json中设置。

找到钥匙工具路径本身会导致另一个兔子洞。人们可能会看到这些资源:什么是keytool,为什么找不到它,为什么Firebase甚至想要一个“SHA-1”?并且“keytool”不被识别为内部或外部命令。

  • C、。应用程序签名密钥:在Google Play Console上创建(或定位)发布者帐户。创建(或定位)应用程序并将其设置为Google Play签名,这是自2021 8月以来的默认设置。在Release | Setup | app integrity | Play app signing | app signing key certificate下-复制“SHA-1证书指纹”

使用“添加指纹”将密钥添加到同一应用下的 Firebase 控制台。再次下载 google services json 并将其插入 Android Studio。生成应用捆绑包。如果这是该应用程序第一次在Play商店中发布,那么我建议先在“内部测试”轨道下发布,以便在多个设备上实时测试它。