Тайная ошибка: «Не удалось открыть базу данных phenotype.db, база данных заблокирована». Невозможно найти информацию в Интернете

Я пытался проверить приложение, и он не запускался, вместо этого я продолжал получать эту ошибку:

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? Что я могу сделать, чтобы решить эту проблему, чтобы проверить приложение?

Вы забыли закрыть базу данных, или другой поток пишет в базу данных, когда вы пытаетесь ее написать. SQLite блокирует базу данных, когда она пишет ей, чтобы избежать коррупции, если другой объект пытается записать в одну и ту же базу данных одновременно. Android, будет отображаться только ошибка в logcat, и запрошенный вами запрос будет просто забыт.
Рекомендации:

  • Вы SQLOpenHelper доступ только к базе данных из одного SQLOpenHelper
  • Вы убедитесь, что вы закрываете все экземпляры помощников базы данных, как только вы закончите с ними
  • Вы всегда endTransaction() транзакции с помощью endTransaction() также если вы не установили их успешными (т. endTransaction() Если вы хотите перевернуть их назад), если вы используете транзакции