我的Android应用程序正在使用Firebase实时数据库,我已经放置了应用程序调试SHA证书指纹,当我使用调试模式测试我的应用程序时,它可以工作并且我从数据库获取数据,现在当我想签名并发布应用程序时,“我对以前的应用程序做了什么:我从Firebase项目控制台中删除了调试SHA证书指纹,然后我放置了发布SHA证书指纹,应用程序已打开现在的市场,没关系“,但我想知道:
Q1)当我用发行版删除了调试SHA证书指纹时,当我在调试模式下运行我的应用程序时,它仍然可以工作?
Q2) 我应该在 Firebase 控制台中放置调试和发布 SHA 证书指纹吗?
Q3)如果我将调试和发布SHA证书指纹放在Firebase控制台中,然后下载从Firebase提供的新配置文件,我的数据库连接仍将在发布和调试模式下工作?
以下是您问题的答案。
您必须在 Firebase 控制台中为“调试
”和“发布
”创建两个单独的项目。
现在您必须在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.应用程序签名密钥
下载谷歌服务json并将其插入Android Studio。在模拟器中测试您的应用程序(调试版本),它应该可以正常工作,因为调试密钥已在Firebase和谷歌服务json中设置。
现在对于生产app,ie发布版本——用B或者c。
找到钥匙工具路径本身会导致另一个兔子洞。人们可能会看到这些资源:什么是keytool,为什么找不到它,为什么Firebase甚至想要一个“SHA-1”?并且“keytool”不被识别为内部或外部命令。
使用“添加指纹”将密钥添加到同一应用下的 Firebase 控制台。再次下载 google services json 并将其插入 Android Studio。生成应用捆绑包。如果这是该应用程序第一次在Play商店中发布,那么我建议先在“内部测试”轨道下发布,以便在多个设备上实时测试它。