ここで死んでいます。他の投稿された問題を調べようとしました/ソリューションと誰もまだ私を助けていないようだ...致命的な例外:com.google.firebase.database.d:クラスcom.myapp.android.cに引数のないコンストラクタがありません
私は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)
です。それは私のコードで起こっていると思うようになります..
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
ビルドで起こっているということです。 その後、私のrelease
ビルドにdebuggable true
の値を追加しましたが、そのときに問題が発生しません(クラッシュしません)。
私のリリースビルドに関するものと、この問題の原因となっているデバッグモードではないものが突然現れました。理由は不明です。私のUserクラスについて
、それは私のプロジェクトで独自のクラス..です
そして、これは私の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ファイルを編集する必要があります。 –
超クイック返信@ cricket_007ありがとう!私は元の投稿に私のプロガードファイルを追加しました...そこに何か間違っていますか? – Simon
エラーが 'com.myapp.android.c'を持っていると考えると、あなたはそのパッケージの中にあるクラスを「保持」していないようです。 –