我试图测试一个应用程序并且它无法启动,而是我不断收到此错误:
Failed to open database '/data/data/com.google.android.gms/databases/phenotype.db'.
android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5): , while compiling: PRAGMA journal_mode
我无法在线找到有关此错误的任何信息,也没有关于phenotype.db的信息。当我测试这个时,我没有做任何与数据库相关的事情;我做的唯一更改是与布局相关。
奇怪的是,这发生在我几周前测试的另一个应用程序上。这是一个不同的应用程序,在不同的设备上测试,来自不同的计算机,并出现完全相同的错误。在那种情况下,我切换到另一个设备,错误消失了。但是现在我切换到的设备出现了这个错误。
这与Google有什么不一样的故障吗?我该怎么做才能解决它,以便我可以测试我的应用程序?
答案 0 :(得分:1)
您忘记关闭数据库,或者当您尝试写入数据库时,其他线程正在写入数据库。 SQLite
在写入数据库时将其锁定,以避免在另一个实体同时尝试写入同一数据库时发生损坏。 Android,只会在logcat中显示错误,而您提供的查询将被遗忘
建议:
SQLOpenHelper
endTransaction()
结束交易,以防您使用交易