有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么在google playstore上发布应用程序后,数据没有从firebase加载到应用程序中?

我已经完成了应用程序的构建,并在谷歌Playstore上成功发布。但当用户从Playstore下载时,数据不会加载到手机上。只是一片空白。它能够读取列表的大小,但数据无法加载

有什么问题吗?下面是图像的显示

enter image description here



编辑

2020-02-10 10:18:56.352 281-281/? E/DumpTunnel: finding regDump() failed 2020-02-10 10:18:58.664 30084-30084/? E/AndroidRuntime: FATAL
EXCEPTION: main Process: com.onlinestore.finalapp, PID: 30084 c.d.b.l.c: No properties to serialize found on class c.e.a.c.f at c.d.b.l.r.u0.p.a$a.<init>(:11) at c.d.b.l.r.u0.p.a.a(Unknown Source:12) at c.d.b.l.r.u0.p.a.c(Unknown Source:233) at c.d.b.l.e.a(:9) at c.e.a.a.n.a(Unknown Source:59) at c.d.a.a.k.s.run(:6) at 安卓.os.Handler.handleCallback(Handler.java:790) at 安卓.os.Handler.dispatchMessage(Handler.java:99) at 安卓.os.Looper.loop(Looper.java:164) at 安卓.app.ActivityThread.main(ActivityThread.java:6548) at java.lang.reflect.Method.invoke(Native Method) at com.安卓.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:451) at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:888)

配置proguard后,我现在收到此错误


共 (4) 个答案

  1. # 1 楼答案

    在我的例子中,我只需要将minifyEnabled从true改为false

    现在看来是这样的:

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
  2. # 2 楼答案

    请确保您的数据库具有读取和写入数据的公共访问权限,因为默认情况下,对数据库的读取和写入权限受到限制,因此只有经过身份验证的用户才能读取或写入数据

    这里是链接到configure your rules for public access

    这将使你的数据库可供公众访问,所以谁没有你的应用程序也可以访问你的数据库,所以一定要在适当的authentication之后限制你的数据库

  3. # 3 楼答案

    默认规则禁止用户对数据库进行读写访问。根据这些规则,您只能通过Firebase控制台访问数据库。 你需要在这里换

    // These rules don't allow anyone to read or write access to your database
    {
      "rules": {
        ".read": false,
        ".write": false
      }
    }

    如果这两种情况都是真的,并且这个问题仍然存在,那么请阅读firebase的官方文档和集成手册Adding Firebase to Android...

    同样,您应该知道release APK和debug APK有不同的功能

    • SHA1
    • API密钥

    谷歌服务。因此,您需要在项目设置中的Firebase上添加这两个选项。完成此操作后,需要重新下载

    google-services.json

    归档并将其放在项目的正确位置。用你的密钥库创建一个新的发布版本,并在Google Play store上发布你的应用。 我希望这对你有用

  4. # 4 楼答案

    可能很晚了,但我在向Playstore发布应用程序后听到了类似的问题

    firebase checklist

    考虑的事情
    1. 将应用程序版本SHA1指纹添加到firebase项目设置以进行身份验证
    2. 在你的应用程序中使用FieldRealTimeApple和PuoGug配置你的Pro防护规则,你需要考虑你的模型对象在混淆之后会被序列化和反序列化。如果使用DataSnapshot.getValue(Class)DatabaseReference.setValue(Object)读取和写入数据,则需要向proguard规则中添加规则。专业文件:

    添加此全局规则

    -keepattributes Signature
    
    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models. Modify to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }