我正在使用SQLite开发Android应用程序,并希望使用SQLcipher更改为加密数据库。 我将icudt46l.zip添加到assets文件夹,将* .so添加到libs / armeabi文件夹。 由于这是升级,我想加密未加密的数据库。
我测试了三星S2(Android 2.3.3)和索尼Z1(Android 4.4.2)上的代码,它运行正常,来自未加密数据库的更新以及新的加密数据库。
使用我的三星Galaxy S4(Android 4.2.2),当我尝试打开未加密的数据库SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(originalFile, "", null)
时,我不断收到致命信号11。
这是我的代码中第一次调用SQLcipher方法(除了net.sqlcipher.database.SQLiteDatabase.loadLibs(inContext)
)。
如果我正在从它在S4上运行的清单中更改package-name(那么它将获得一个新的干净数据库)。
当我想到OOM-Exception时,我再次测试了S2上的代码。我生成了一个10MB的SQLite未加密数据库,并正确地使用我的代码对其进行了转换。
任何人都可以给我一个提示,我做错了吗?
答案 0 :(得分:1)
听起来这里的人有同样的问题,也许有帮助。
https://groups.google.com/forum/#!topic/sqlcipher/hZFpNSSP-c8