使用Dexguard的Firebase碰撞

使用Dexguard的Firebase碰撞,firebase,firebase-realtime-database,proguard,dexguard,Firebase,Firebase Realtime Database,Proguard,Dexguard,你知道为什么会发生这次坠机吗?调试生成工作正常,但Dexguard发行版在尝试登录用户时崩溃(使用signInWithCustomToken登录) 更新:以下proguard设置修复了该问题 -keep class com.google.android.gms.internal.** { *; } -保持类com.google.android.gms.internal.*{*;} Firebase版本:9.4.0 Caused by java.lang.IllegalArgumentExcep

你知道为什么会发生这次坠机吗?调试生成工作正常,但Dexguard发行版在尝试登录用户时崩溃(使用
signInWithCustomToken
登录)

更新:以下proguard设置修复了该问题

-keep class com.google.android.gms.internal.** { *; }
-保持类com.google.android.gms.internal.*{*;}

Firebase版本:9.4.0

Caused by java.lang.IllegalArgumentException: field o.ս.ʽ has type android.support.v4.util.ArrayMap, got o.dj
       at java.lang.reflect.Field.set(Field.java)
       at com.google.android.gms.internal.zzaog$1.zza(Unknown Source)
       at com.google.android.gms.internal.zzaog$zza.zzb(Unknown Source)
       at com.google.android.gms.internal.zzamp.zza(Unknown Source:46000)
       at com.google.android.gms.internal.zzafy.zze(Unknown Source:8000)
       at com.google.firebase.auth.FirebaseAuth.(Unknown Source)
       at com.google.firebase.auth.FirebaseAuth.(Unknown Source)
       at com.google.android.gms.internal.zzaft.(Unknown Source)
       at com.google.firebase.auth.FirebaseAuth.getCurrentUser(Unknown Source:19000)
Proguard配置:

# Firebase
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.google.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.**
-keepresources string/default_web_client_id
-keepresources string/firebase_database_url
-keepresources string/gcm_defaultSenderId
-keepresources string/google_api_key
-keepresources string/google_app_id
-keepresources string/google_crash_reporting_api_key
-keepresources string/google_storage_bucket
# Supoort
-dontwarn android.support.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.** { *; }
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }
-keep class android.support.design.** { *; }
-keep interface android.support.design.** { *; }

以下ProGuard设置修复了该问题

-keep class com.google.android.gms.internal.** { *; }

以下ProGuard设置修复了该问题

-keep class com.google.android.gms.internal.** { *; }

看起来android.support中的类正在重命名。请尝试添加-keep class android.*{*}抱歉,已使用与支持相关的proguard规则更新了帖子。顺便说一句。您可以回答自己的问题。看起来android.support中的类正在重命名。请尝试添加-keep class android.*{*}抱歉,已使用与支持相关的proguard规则更新了帖子。顺便说一句。你可以回答你自己的问题。