我正在使用 SQLite 开发 Android 应用程序,并希望更改为使用 SQLcipher 的加密数据库。 我将 icudt46l.zip 添加到 Assets 文件夹,将 *.so 添加到 libs/armeabi 文件夹。 由于是升级,我想加密未加密的数据库。
我在 Samsung S2 (Android 2.3.3) 和 Sony 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 上运行的 list 中的包名称(因此它会获得一个全新的干净数据库)。
当我想到 OOM 异常时,我再次测试了 S2 上的代码。我生成了一个 10MB 的 SQLite 未加密数据库,并使用我的代码正确地转换了它。
谁能给我一个提示,我做错了什么?
最佳答案
听起来这里的人也有同样的问题,也许有帮助。
https://groups.google.com/forum/#!topic/sqlcipher/hZFpNSSP-c8
关于android - SQLCipher 致命信号 11 (SIGSEGV) 位于 0x756c66f2(代码=1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361750/