Firebase 发布 apk 未加载数据

Posted

技术标签:

【中文标题】Firebase 发布 apk 未加载数据【英文标题】:Firebase release apk not loading data 【发布时间】:2016-11-29 23:00:49 【问题描述】:

我在我的应用程序中使用 firebase,在调试 apk 中一切正常,但是当我将构建类型更改为发布并签署我的 apk 并运行应用程序数据时,未加载应用程序数据是我在规则方面做错了吗?

无法将调试器附加到发布模式 apk,因此无法了解如何调试。

自定义登录工作正常,我可以使用注册的电子邮件和密码登录,但未加载数据和图像。

我登录并尝试显示数据,我认为调用已通过身份验证

我的数据库和存储规则

存储规则

service firebase.storage 
   match /b/example-frienda-backend.appspot.com/o 
    match /allPaths=** 
    allow read, write: if request.auth != null;
  
 

数据存储规则


  "rules": 
    ".read": "auth != null",
    ".write": "auth != null",
   "geofire": 
     ".indexOn": ["g"],
   
  

【问题讨论】:

发布和调试的签名密钥是否不同?如果是,您还需要将使用发布密钥签名的 SHA-1 添加到 Firebase 控制台中。 您的数据库类是 POJO 模型吗?您使用的是 proguard 吗?它会掩盖名字。我在使用 Firebase 数据库时遇到了这个问题。不知道存储。您可以尝试使用发布 apk 进行调试。使用“android 设备管理器”并过滤您的应用 PID。这将显示您手机中每个应用程序的 LogCat 消息。 哦,我的天哪,那个工作的人。我不知道如何感谢你,实际上我已经将它添加到我的 proguard 但后来我更改了我的包名但在阅读你的评论后它现在没有反映在 proguard 我只是再次查看它指向旧包名.我只是改变了,它就像魅力一样。 Thaaaaanks 一个吨的人。谢谢。 @Dexter 你真的是 Dexter Morgon。大声笑 听起来像是@Dexter 的答案 你帮了我很大的忙。 proguard 上的包名没有改变 【参考方案1】:

Proguard 在您的情况下造成问题,您需要检查 proguard 规则,确保您的所有 Pojo 类都列在 proguard 中。

更好的选择是将所有 Pojo 类放在同一个包中并添加它

-keep class com.memes.trollfootball.data.db.model.** *;

到你的 proguard-rules.pro 文件中。

【讨论】:

谢谢。我也不得不改变我的火力基地规则。【参考方案2】:

请看下面的链接,我已经回答了类似的问题。

https://***.com/a/59626147/5435517

此外,在您的情况下,请检查您是否已将 SHA 正确添加到您的 Firebase 项目中,即您的应用的 Firebase 规则。

【讨论】:

使用 cmets 参考其他答案。 好的。从下次开始我会记得的。目前也无法发表评论,因为我不允许发表评论。感谢您让我知道@PratikBhavsar【参考方案3】:

在构建发布 apk 时,apk 的签名“SHA-1”会发生变化。因此,如果您尝试使用 firebase-auth 登录您的应用程序,它会给您一个类似“ffdod:10”的祝酒词,而且它也不会加载数据。

所以你应该这样做:- 转到您的 firbase 项目并在“项目设置”下转到“您的应用程序”,然后单击“添加指纹”,然后添加您的发布 apk 指纹“SHA-1”和“SHA-256”。 如果您的数据仍未加载或应用程序在获取和设置数据时崩溃。然后在您的 build.gradle(:app) 中将其更改为:minifyEnabled false。Just look at the image for correction.

【讨论】:

以上是关于Firebase 发布 apk 未加载数据的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从 Firebase 同步加载数据?

构建发布和调试 apk 时未找到 Firebase Auth AndroidX 依赖项

未处理的承诺拒绝:this._next 不是函数:@angular/fire/messaging 中的区域

UITableView 未加载 Firebase 快照数据。

当页面数据未从 Firebase 完全加载时显示加载指示器/微调器 - Flutter

图片未从 Firebase 数据库中的 Picasso 的 URL 加载