2017-12-06 12 views
0

데이터,하지만중포 기지 실시간 데이터베이스 릴리스 APK에서 데이터를 검색하지 않습니다 [안드로이드] 장치 또는 에뮬레이터에서 응용 프로그램을 실행할 때 완벽하게 검색

을 출시 APK를 생성하는 이미지 나는 문제가 생각 표시되지 않습니다 프로 가드 때문에 나는이 대답을 시도했다. https://stackoverflow.com/a/26274623/4819445

그러나 작동하지 않는다.

이 내가 모델 클래스 에 @Keep을 추가, 또한 내 proguard_rules.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.** {*;} 

내가 bulid Gradle을 파일에 minifyEnabled이 = 사실합니다

release { 
      useProguard true 
      shrinkResources true 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 

그러나 이미지는 여전히 POJO를하지 형성 APK에 게재 중

도와주세요.

+1

그냥 도와 주려고 ... 제발, htt ps : //stackoverflow.com/questions/42664285/encapsulated-getters-refurn-null-from-firebase-database-only-in-release-works-f – Itapox

+0

@Itapox 정말 고맙습니다. 정말 나를 도와주고 있습니다. 친절하게 그것을 받아들이 기 위해 답을 추가하십시오. – Leenah

답변

2

Proguard가 릴리스 모드에서 해당 클래스를 숨기거나 제거하므로 Firebase에서 해당 클래스를 직렬화/비 직렬화 할 수 없습니다. proguard가이 클래스의 메소드를 삭제하지 않도록 "@Keep"주석을 포함 할 수 있습니다.

는 예를 들어 자세한 정보를 원하시면이

compile 'com.android.support:support-annotations:25.2.0' 

확인 :

... 
@IgnoreExtraProperties 
@Keep 
public class Posto { 
    public String uid; 
    public String nome; 
... 

build.gradle에서이 종속성 포함 https://developer.android.com/studio/build/shrink-code.html

이 대답은 내 자신의 문제에 기반을보고 해결 된 질문 : Encapsulated getters refurn null from firebase database only in release. Works fine in debug mode