Я создал БД для SQLite с помощью gui DB Browser for SQLite. Там было несколько простых таблиц, заполненных небольшим количеством данных, буквально записей 10 самое большое. Данные тоже простые - короткие предложения и маленькие цифры. Скопировал эту БД в ассеты, весьма успешно подключился к ней, считал и отобразил на экране.
После этого добавил пару полей, изменил названия и добавил чуть больше данных. И все, с этого момента получаю сообщение вроде
E/SQLiteLog: (11) database corruption at line 66390 of [d2e6722037]
E/SQLiteLog: (11) statement aborts at 8: [select id, code from item_subcategory where id = 10] database disk image is malformed
Сперва подумал может из-за данных, убрал из записей строки со слэшами - не помогло. Подумал, может DB Browser при изменении полей как-то сломал базу и попробовал создать заново - и запросами заранее заготовленными, и руками создавал таблицы и поля. И даже код программы перенес в новый проект (все равно в исходном было много лишнего) - ошибка все та же.
Эмулятор не использую - запускаю через подключенный телефон, но и в эмуляторе была ошибка.
Более подробный список ошибок
E/SQLiteLog: (11) database corruption at line 66390 of [d2e6722037]
E/SQLiteLog: (11) statement aborts at 8: [select id, code from item_subcategory where id = 10] database disk image is malformed
W/asampleprognam: Got a deoptimization request on un-deoptimizable method long android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(long, long, long, int, int, boolean)
E/DefaultDatabaseErrorHandler: Corruption reported by sqlite on database: /data/user/0/com.example.sampleprogname/databases/dbmanual.db
W/asampleprognam: Got a deoptimization request on un-deoptimizable method void sun.nio.fs.UnixNativeDispatcher.stat0(long, sun.nio.fs.UnixFileAttributes)
E/SQLiteDatabase: DB wipe detected: package=com.example.sampleprogname reason=corruption file=/data/user/0/com.example.sampleprogname/databases/dbmanual.db ctime=2023-02-16T12:31:09Z mtime=2023-02-16T12:31:09Z atime=2023-02-16T12:30:17Z checkfile [unable to obtain timestamp]
java.lang.Throwable: STACKTRACE
...
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sampleprogname, PID: 24638
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sampleprogname/com.example.sampleprogname.activities.itemcatalog.ItemsCatalogActivity}: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11 SQLITE_CORRUPT)
При этом в том же самом DB Browser проверка на ошибки говорит что все в порядке. Я копирую запросы из строк, которые генерируются в приложении, выполняю их отдельно - запросы корректные.