自上个月以来,我遇到了 sqlcipher 的一个问题。
在我的项目中,我使用存储在资源文件夹的原始文件夹中的现有数据库。
我使用 SQLiteDatabase.openOrCreateDatabase() 方法打开数据库。它在 5.0 版之前的所有设备上都可以正常工作。但它在 Android 5.x 及更高版本上显示错误,日志如下:我也在互联网上搜索。我在链接中发现了相同的问题,但没有解决方案。链接为:https ://github.com/sqlcipher/android-database-sqlcipher/issues/161
错误日志如下:
DELETE 设置区域设置失败 08-13 09:44:58.388: E/Database(6507): 构造时无法 setLocale(),关闭数据库 08-13 09:44:58.388: E/Database(6507): net.sqlcipher .database.SQLiteException: 尝试写入只读数据库 08-13 09:44:58.388: E/Database(6507): at net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method) 08-13 09:44:58.388: E/数据库(6507):在 net.sqlcipher.database.SQLiteDatabase.setLocale(SQLiteDatabase.java:2098)