我正在使用Android的SQLCipher库来加密/解密DB文件.我遵循API中讨论的添加库的确切步骤.
但是当我运行项目时,我收到一个不满意的链接错误...这是logcat ...
11-15 13:12:08.482: ERROR/AndroidRuntime(340): java.lang.UnsatisfiedLinkError: dbopen
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at info.guardianproject.database.sqlcipher.SQLiteDatabase.dbopen(Native Method)
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at info.guardianproject.database.sqlcipher.SQLiteDatabase.<init>(SQLiteDatabase.java:1876)
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:870)
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:904)
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at info.guardianproject.database.sqlcipher.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
11-15 13:12:08.482: ERROR/AndroidRuntime(340): at com.myproject1.getInstance(AppData.java:60)
Run Code Online (Sandbox Code Playgroud)
请给我任何参考或提示.
seg*_*ult 14
java.lang.UnsatisfiedLinkError 在使用之前未初始化SQLCipher库时发生.
要解决此问题,请SQLiteDatabase.loadLibs(this);在使用前致电.
例如:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SQLiteDatabase.loadLibs(this);
// Set up the window layout
setContentView(R.layout.main);
//instance of database adapter
db = DBAdapter.getInstance(this);
//load database
db.load("password goes here");
Run Code Online (Sandbox Code Playgroud)