Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase实时数据库在版本apk[Android]中未检索数据_Android_Firebase_Android Proguard - Fatal编程技术网

Firebase实时数据库在版本apk[Android]中未检索数据

Firebase实时数据库在版本apk[Android]中未检索数据,android,firebase,android-proguard,Android,Firebase,Android Proguard,在设备或模拟器上运行应用程序时,可以完美地检索到数据,但在生成版本apk时,数据不会显示图像 我认为问题是由proguard造成的,所以我尝试了这个答案 但它不起作用 这是我的proguard\u规则。pro -dontwarn org.w3c.dom.** -dontwarn org.joda.time.** -dontwarn org.shaded.apache.** -dontwarn org.ietf.jgss.** -dontwarn com.firebase.** -dontnot

在设备或模拟器上运行应用程序时,可以完美地检索到数据,但在生成版本apk时,数据不会显示图像

我认为问题是由proguard造成的,所以我尝试了这个答案

但它不起作用

这是我的
proguard\u规则。pro

-dontwarn org.w3c.dom.**
-dontwarn org.joda.time.**
-dontwarn org.shaded.apache.**
-dontwarn org.ietf.jgss.**
-dontwarn com.firebase.**
-dontnote com.firebase.client.core.GaePlatform

-keepattributes Signature
-keepattributes *Annotation*
-keepattributes InnerClasses,EnclosingMethod

-keep class com.images.backgrounds.** { *; }

-keep class com.firebase.** { *; }

-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }


-keep class com.firebase.** { *; }
-keep class org.apache.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
-dontwarn org.apache.**
-dontwarn org.w3c.dom.**
-dontwarn javax.annotation.**
#
-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**
-keep class javamail.** {*;}
-keep class javax.mail.** {*;}
-keep class javax.activation.** {*;}
-keep class com.sun.mail.dsn.** {*;}
-keep class com.sun.mail.handlers.** {*;}
-keep class com.sun.mail.smtp.** {*;}
-keep class com.sun.mail.util.** {*;}
-keep class mailcap.** {*;}
-keep class mimetypes.** {*;}
-keep class myjava.awt.datatransfer.** {*;}
-keep class org.apache.harmony.awt.** {*;}
-keep class org.apache.harmony.misc.** {*;}
另外,我在模型类中添加了
@Keep
我在bulid gradle文件中设置minifyEnabled=true:

release {
            useProguard true
            shrinkResources true
            minifyEnabled true
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
但是POJO的图像仍然没有在APK中显示


请帮助我

最有可能的是,Proguard在发布模式下隐藏/剥离了这些类,使得Firebase无法对它们进行序列化/反序列化。 您可以包含注释“@Keep”,这样proguard将不会删除此类中的任何方法

e、 g:

在build.gradle中包含此依赖项:

compile 'com.android.support:support-annotations:25.2.0' 
查看此项了解更多信息:


这个答案基于我自己的问题,在

上报告并解决。我遇到了一个类似的问题,我为我的项目构建了一个签名的Apk和应用程序包,这就是我在Kotlin中解决问题的方法。你只需在模型或类中添加以下注释,其中包含firebase凭据,如uid、名称、电子邮件、,照片及其他:

@ignoreextroperties
@保持
有我的完整类和我的模型目录:
@忽略外部属性
@保持
@包裹
类Post(val-uid:String,val-title:String,val-description:String,val-imageUri:String,val-likes:Int,val-timeStamp:Long):
包裹的{
构造函数():此(“,”,“,”,1,-1)
}

注意:虽然谷歌play商店需要应用捆绑包,但我建议您也使用相同的登录sea证书来构建apk。然后在您的手机上本地运行apk,如果一切正常,您可以继续上传您生成的应用程序包。

只是想帮助。。。请看@Itapox,非常感谢您真的帮助了我,请添加答案以便接受。
compile 'com.android.support:support-annotations:25.2.0'