这个问题通常是由于在release版本中使用了加密的数据库而导致的,而没有包括所需的Native Library。为了解决这个问题,可以尝试使用以下方法:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
pickFirst 'lib/x86/libname.so'
pickFirst 'lib/armeabi/libname.so'
pickFirst 'lib/armeabi-v7a/libname.so'
pickFirst 'lib/arm64-v8a/libname.so'
pickFirst 'lib/x86_64/libname.so'
}
}
SQLiteDatabase.loadLibs(this);
这将加载所需的Native Library文件,以便在release版本中正确运行加密的数据库。
dependencies {
implementation 'net.zetetic:android-database-sqlcipher:4.4.1'
}
这样,就可以在release版本中正确使用SQLCipher加密数据库,并避免遇到“net.sqlcipher.database.SQLiteException”异常错误了。