Android 0x756c66f2处的SQLCipher致命信号11(SIGSEGV)(代码=1)
我正在用SQLite开发一个Android应用程序,并希望使用SQLcipher转换为加密数据库。 我将icudt46l.zip添加到资产文件夹,将*.so添加到libs/armeabi文件夹。 由于这是一个升级,我想加密未加密的数据库 我在三星S2(安卓2.3.3)和索尼Z1(安卓4.4.2)上测试了代码,代码运行正常,从一个未加密的数据库以及一个新的加密数据库更新。 在我的三星Galaxy S4(Android 4.2.2)中,当我试图打开未加密的数据库时,我不断收到致命信号11Android 0x756c66f2处的SQLCipher致命信号11(SIGSEGV)(代码=1),android,database,sqlite,sqlcipher,Android,Database,Sqlite,Sqlcipher,我正在用SQLite开发一个Android应用程序,并希望使用SQLcipher转换为加密数据库。 我将icudt46l.zip添加到资产文件夹,将*.so添加到libs/armeabi文件夹。 由于这是一个升级,我想加密未加密的数据库 我在三星S2(安卓2.3.3)和索尼Z1(安卓4.4.2)上测试了代码,代码运行正常,从一个未加密的数据库以及一个新的加密数据库更新。 在我的三星Galaxy S4(Android 4.2.2)中,当我试图打开未加密的数据库时,我不断收到致命信号11SQLite
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(originalFile,“,null)
。
这是我的代码中第一次调用SQLcipher方法(除了net.SQLcipher.database.SQLiteDatabase.loadLibs(inContext)
)。
如果我从清单中更改包名,它将在S4上运行(因此它将获得一个新的干净数据库)。
当我想到OOM异常时,我再次在S2上测试了代码。我生成了一个10MB的SQLite未加密数据库,并用我的代码正确地转换了它
谁能给我一个提示,我做错了什么?听起来这里的人也有同样的问题,也许这有帮助