我正在将GreenDAO
与SQLCipher
一起使用。将SQLCipher
从3.5.2升级到4.0.1后,我的应用无法访问旧的加密数据库。我已经搜索了解决方案,发现需要在postKey
的SQLiteDatabaseHook
中运行PRAGMA cipher_migrate来迁移数据库。我尝试过这样,但没有任何变化。
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();
我正在将GreenDAO与SQLCipher结合使用。将SQLCipher从3.5.2升级到4.0.1后,我的应用程序无法访问旧的加密数据库。我已经在寻找解决方案,发现我需要...
您需要路径时将"DB.db"
传递到openOrCreateDatabase
。您想要执行以下操作: