2015-06-11 16 views
0

我在android studio中運行junit測試用例時遇到問題。 的問題是,當我運行測試用例首次在手機它完全罰款很奇怪,但如果應用程序已經安裝,當我運行測試用例我收到以下錯誤: -SQLiteException不在net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)的錯誤

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依賴關係都已正確配置。

回答

0

我找到了解決此問題的解決方案。 當我在日誌中看到的,我發現實際問題是

Unable to copy icudt46l.zip file 

它發生,因爲我沒有打電話的SQLiteCipher測試套件內loadlibs

所以我增加了以下線在我的測試類的setup()方法

SQLiteDatabase.loadLibs(getContext(), getContext().getFilesDir()); 
0

第一次運行應用程序後,數據庫可能未正確關閉。嘗試使用SQLiteConnection類中的Close方法:

db.Close() 
相關問題