SQLiteException 在 net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method) 处不是错误
SQLiteException not an error at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
我在 android 工作室中 运行 处理 junit 测试用例时遇到问题。
这个问题很奇怪,因为当我 运行 第一次在 phone 测试用例时它工作得很好,但是如果应用程序已经安装并且当我 运行 测试用例我收到以下错误:-
net.sqlcipher.database.SQLiteException: not an error
at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1942)
at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:875)
at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:907)
at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:132)
at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:99)
所有 sqlcipher 依赖项都已正确配置。
第一次 运行 您的应用程序后,数据库可能无法正确关闭。尝试使用 SQLiteConnection class:
中的 Close 方法
db.Close()
我找到了这个问题的解决方案。
当我在日志中看到时,我发现实际问题是
Unable to copy icudt46l.zip file
发生这种情况是因为我没有在测试套件中调用 SQLiteCipher
的 loadlibs
。
所以我在测试的 setup()
方法中添加了以下行 class
SQLiteDatabase.loadLibs(getContext(), getContext().getFilesDir());
我在 android 工作室中 运行 处理 junit 测试用例时遇到问题。 这个问题很奇怪,因为当我 运行 第一次在 phone 测试用例时它工作得很好,但是如果应用程序已经安装并且当我 运行 测试用例我收到以下错误:-
net.sqlcipher.database.SQLiteException: not an error
at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1942)
at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:875)
at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:907)
at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:132)
at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:99)
所有 sqlcipher 依赖项都已正确配置。
第一次 运行 您的应用程序后,数据库可能无法正确关闭。尝试使用 SQLiteConnection class:
中的 Close 方法db.Close()
我找到了这个问题的解决方案。 当我在日志中看到时,我发现实际问题是
Unable to copy icudt46l.zip file
发生这种情况是因为我没有在测试套件中调用 SQLiteCipher
的 loadlibs
。
所以我在测试的 setup()
方法中添加了以下行 class
SQLiteDatabase.loadLibs(getContext(), getContext().getFilesDir());