Android中使用SQLCipher加密GreenDao数据库不成功
1.添加依赖配置
在项目的build.gradle文件中添加GreenDao插件依赖:
buildscript {dependencies {classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'}
}
2.在模块的build.gradle文件中应用插件并添加依赖:
apply plugin: 'org.greenrobot.greendao'dependencies {implementation 'org.greenrobot:greendao:3.3.0'implementation 'net.zetetic:android-database-sqlcipher:4.2.0'
}greendao {schemaVersion 1daoPackage 'com.your.package.database.dao'targetGenDir 'src/main/java'
}
3.初始化SQLCipher库
在使用加密数据库前,需要在Application类中初始化SQLCipher库(不初始会加密不成功)
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();SQLiteDatabase.loadLibs(this);}
}
4.使用加密数据库
通过GreenDao的DevOpenHelper获取加密数据库实例
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "encrypted-db");
SQLiteDatabase db = helper.getEncryptedWritableDb("your-database-password");
DaoSession daoSession = new DaoMaster(db).newSession();
