我正尝试在我的API16 (Motorola Xoom 4.1.2)项目中使用sqlcipher (2.0.8),并获得以下堆栈跟踪。我在libs的armeabi文件夹中有3个so库,在assets文件夹中有icudt46l.zip。我在我的活动的onCreate中有SQLiteDatabase.loadLibs(context);。然而,当我创建一个数据库时,应用程序崩溃了。
11-08 21:00:33.050: E/AndroidRuntime(2222): FATAL EXCEPTION: Main:
11-08 21:00:33.050: E/AndroidRuntime(2222): net.sqlcipher.database.SQLiteException: not an error
11-08 21:00:33.050: E/AndroidRuntime(2222): at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
11-08 21:00:33.050: E/AndroidRuntime(2222): at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1952)
11-08 21:00:33.050: E/AndroidRuntime(2222): at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:902)
11-08 21:00:33.050: E/AndroidRuntime(2222): at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:945)
11-08 21:00:33.050: E/AndroidRuntime(2222): at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)发布于 2012-11-09 13:54:36
原因是我在库项目的资产文件夹中有icudt46l.zip。我必须将icudt46l.zip复制到应用程序项目的资产文件夹中。以下是有关此https://github.com/sqlcipher/android-database-sqlcipher/issues/64的更多信息
发布于 2014-09-10 07:24:15
尝试卸载您的应用程序,然后重新安装。以我为例,eclipse在添加新资产文件时会遇到一些问题。
https://stackoverflow.com/questions/13302849
复制相似问题