I am developing an Android app with SQLite and want to change to an encrypted database with SQLcipher. I added icudt46l.zip to the assets folder and *.so to the libs/armeabi folder. As it's an upgrade, I want to encrypt the unencrypted database.
I tested the code on a Samsung S2 (Android 2.3.3) and a Sony Z1 (Android 4.4.2) and it works correctly, the update from an unencrypted database as well with a new encrypted database.
With my Samsung Galaxy S4 (Android 4.2.2) I constantly get a Fatal signal 11 when I try to open the unencrypted database SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(originalFile, "", null)
.
It's the first call of a SQLcipher-method in my code (besides net.sqlcipher.database.SQLiteDatabase.loadLibs(inContext)
).
If I'm changing the package-name from the manifest it runs on the S4 (so it gets a fresh clean database).
As I thought of an OOM-Exception I tested the code on the S2 again. I generated an 10MB SQLite unencrypted database and transformed it with my code correctly.
Can anyone give me a hint, what I'm doing wrong?