Я использую GreenDAO
с SQLCipher
.После обновления SQLCipher
с 3.5.2 до 4.0.1 мое приложение не может получить доступ к старой зашифрованной базе данных.Я уже искал решение и обнаружил, что мне нужно запустить PRAGMA cipher_migrate в postKey
из SQLiteDatabaseHook
для переноса моей базы данных.Я пытался так, но ничего не меняется.: 1006
SQLiteDatabaseHook hook = new SQLiteDatabaseHook() {
@Override
public void preKey(SQLiteDatabase database) {
}
@Override
public void postKey(SQLiteDatabase database) {
database.execSQL("PRAGMA key = '" + key + "';");
database.execSQL("PRAGMA cipher_migrate;");
}
};
Database db = new EncryptedDatabase(SQLiteDatabase.openOrCreateDatabase("DB.db", key, null, hook));
return new DaoMaster(db).newSession();