4

API 16(Motorola Xoom 4.1.2)のプロジェクトでsqlcipher(2.0.8)を使用しようとしていますが、次のスタックトレースを取得しています。libsのarmeabiフォルダーに3つのsoライブラリがあり、assetsフォルダーにicudt46l.zipがあります。私はSQLiteDatabase.loadLibs(context);自分のアクティビティのonCreateを持っています。それでも、IIがデータベースを作成すると、アプリケーションがクラッシュします。

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)
4

2 に答える 2

13

その理由は、ライブラリプロジェクトのアセットフォルダにicudt46l.zipがあるためです。icudt46l.zipをアプリケーションプロジェクトのアセットフォルダーにコピーする必要があります。このhttps://github.com/sqlcipher/android-database-sqlcipher/issues/64の詳細はこちら

于 2012-11-09T05:54:35.873 に答える
0

アプリをアンインストールして再インストールしてみてください。私の場合、eclipseは新しいアセットファイルを追加する際にいくつかの問題に直面しています。

于 2014-09-09T23:24:14.810 に答える