gpt4 book ai didi

android - 致命异常 : com. google.firebase.database.d : Class com. myapp.android.c 缺少没有参数的构造函数

转载 作者:行者123 更新时间:2023-11-30 00:41:52 26 4
gpt4 key购买 nike

所以我在这里陷入了死胡同。我试图查看其他已发布的问题/解决方案,但似乎没有一个能帮助我......

所以我使用 Firebase 构建了一个 Android 应用程序。直到今天,一切都很好,我已经能够让用户登录。

突然(在 iOS 和 Web 应用程序上工作了一段时间后),我回到我的 Android 应用程序,发现它在启动时崩溃了(我推断它是在它获取我的用户数据时发生的)

我得到以下堆栈跟踪,遗憾的是我无法弄清楚实际问题出在哪里..

Fatal Exception: com.google.firebase.database.d: Class com.myapp.android.c is missing a constructor with no arguments
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaz(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaz(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzjs(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaz(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaw(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.myapp.android.FirebaseHelper$1.onDataChange(Unknown Source)
at com.google.firebase.database.Query$1.onDataChange(Unknown Source)
at com.google.android.gms.internal.zzbmz.zza(Unknown Source)
at com.google.android.gms.internal.zzbnz.zzYj(Unknown Source)
at com.google.android.gms.internal.zzboc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5728)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

我能从这一切中得到的唯一线索是 at com.google.firebase.database.DataSnapshot.getValue(Unknown Source),这让我觉得它发生在我的代码中 at..

public void getUserData(final Boolean autoLogin, final Boolean fromGoogleSignIn) {
mDatabase = FirebaseDatabase.getInstance().getReference();
final DatabaseReference userRef = mDatabase.child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid());

ValueEventListener userListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

if (dataSnapshot.getValue() == null) {
// Create User Data
} else {
sharedInstance().currentUser = dataSnapshot.getValue(User.class); // <-- Crashing here??
}
}
};

userRef.addListenerForSingleValueEvent(userListener);
}

下一个最大的谜团是这只发生在我的 release 构建中。然后,我将 debuggable true 值添加到我的 release 构建中,但是这样做时问题没有发生(它没有崩溃)。

所以我的发布版本有些问题,当它不处于 Debug模式时突然导致了这个问题......我不确定为什么。

关于我的用户类,它在我的项目中是它自己的类..

enter image description here

这是我的 Proguard 文件...

-dontwarn com.squareup.okhttp.**
-keepattributes Signature

-keep class com.myapp.android.User { *; }
-keep class com.myapp.android.Vendor { *; }
-keep class com.myapp.android.Response { *; }
-keep class com.myapp.android.Voucher { *; }

-assumenosideeffects class android.util.Log {
public static *** d(...);
}

-dontpreverify

有什么想法吗?谢谢! :)

最佳答案

问题的出现似乎是因为在 Proguard 混淆了您的类之后,Firebase 无法找到类以从数据库中获取值(使用 dataSnapshot.getValue(YourClass.class);)。我有同样的问题,我最终通过添加修复了它

-dontobfuscate

proguard-rules.pro 的选项。出于某种原因,-keep 选项对我不起作用。

可能有一个解决方案可以让其余的类保持混淆,我只是真的不需要它,所以这对我有用。

关于android - 致命异常 : com. google.firebase.database.d : Class com. myapp.android.c 缺少没有参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com