После обновления версии SqlCipher до версии 4.2.0 происходит сбой - PullRequest
0 голосов
/ 10 июня 2019

После обновления до версии SqlCipher до 4.2.0, я получаю сбой с обратной трассировкой ниже, хотя это работало в предыдущей версии 3.5.9.

net.sqlcipher.database.SQLiteException: file is not a database

1 Ответ

0 голосов
/ 10 июня 2019

Это создавало проблему для нового формата файла базы данных [Примечание: SqlCipher обновляет и изменяет свой формат файла базы данных в новой версии для обеспечения большей безопасности].По этой причине он не может найти базу данных в месте расположения базы данных и получил этот сбой.Простая миграция базы данных решила проблему.Пример кода для миграции приведен ниже:

        super(context, DB_NAME, null, DB_VERSION, new SQLiteDatabaseHook() {
            @Override
            public void postKey(SQLiteDatabase database) {
                database.rawQuery("PRAGMA cipher_migrate", null).close();
            }

            @Override
            public void preKey(SQLiteDatabase database) {

            }
        });
...