Android Firebase数据库已损坏

时间:2018-06-12 06:39:41

标签: java android firebase firebase-realtime-database google-cloud-firestore

我在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数据库已损坏。有人能告诉我如何解决这个问题吗?如果我升级到新版本它会工作还是我会丢失数据,因为它已损坏?

我无法找到可能出现的问题?

1 个答案:

答案 0 :(得分:0)

有时因为依赖而发生。 请查看此Uncaught exception in Firebase runloop (3.0.0)

相关问题