我在Android应用中使用Firebase数据库并使用了很长时间。最近我遇到了一个问题,就像我打开我的应用程序时,它崩溃了。我只能看到firebase崩溃报告中的以下错误:
Exception java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to [REDACTED_EMAIL_ADDRESS] com.google.android.gms.internal.zzdzy.run () android.os.Handler.handleCallback (Handler.java:739) android.os.Handler.dispatchMessage (Handler.java:95) android.os.Looper.loop (Looper.java:145) android.app.ActivityThread.main (ActivityThread.java:7007) java.lang.reflect.Method.invoke (Method.java) java.lang.reflect.Method.invoke (Method.java:372) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1404) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1199)
Caused by java.lang.RuntimeException: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11) ################################################################# Error Code : 11 (SQLITE_CORRUPT) Caused By : The database disk image is malformed. (database disk image is malformed (code 11)) ################################################################# com.google.android.gms.internal.zzegv.zze () com.google.android.gms.internal.zzefh.zzg () com.google.android.gms.internal.zzefh.zza () com.google.android.gms.internal.zzedn.zza () com.google.firebase.database.zzs.run () java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:422) java.util.concurrent.FutureTask.run (FutureTask.java:237) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201 (ScheduledThreadPoolExecutor.java:152) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:265) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1112) java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587) java.lang.Thread.run (Thread.java:818)
@Entity
@Table(name="test1")
class test1{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id",unique = true, nullable = false)
private int Id;
@OneToOne()
@JoinColumn("sub_category_id")
Test2 test2Bean;
//Getter&Setters
}
@Entity
@Table(name="test2")
class test2{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "sub_category_id",unique = true, nullable = false)
private int Id;
@Column(name="name")
private String name;
//Getter&Setters
}
我正在使用的数据库版本是:
implementation 'com.google.firebase:firebase-database:11.8.0' implementation 'com.google.firebase:firebase-storage:11.8.0' implementation 'com.google.firebase:firebase-auth:11.8.0' implementation 'com.google.firebase:firebase-crash:11.8.0' implementation 'com.github.bumptech.glide:glide:3.7.0' implementation 'com.google.firebase:firebase-firestore:11.8.0'
我认为Firebase本地SQLite数据库已损坏。有人能告诉我如何解决这个问题吗?如果我升级到新版本它会工作还是我会丢失数据,因为它已损坏?
我无法找到可能出现的问题?