Description
Environment: Android 4.1.1 (Nexus S), 4.1 (ARM emulator); SQLCipher for Android 2.0.8
Symptoms: On getWriteableDatabase()
call in SQLiteDatabase
, an error is logged to LogCat (Error copying icu data fileicudt46l.zip
), and the attempt to open the database fails in dbopen()
:
09-12 09:14:34.004: I/TestRunner(16903): net.sqlcipher.database.SQLiteException: not an error
09-12 09:14:34.004: I/TestRunner(16903): at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
09-12 09:14:34.004: I/TestRunner(16903): at net.sqlcipher.database.SQLiteDatabase.(SQLiteDatabase.java:1952)
09-12 09:14:34.004: I/TestRunner(16903): at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:902)
09-12 09:14:34.004: I/TestRunner(16903): at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:945)
09-12 09:14:34.004: I/TestRunner(16903): at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
The same code works fine on 4.0.3 (emulator).
You can see this in action via https://github.com/commonsguy/cwac-prefs (a SharedPreferences
implementation that uses SQLCipher for Android as a backing store). The test suite (in the tests/
sub-project) runs fine on 4.0.3 and fails on 4.1.x.