Я пытаюсь обновить sqlcipher от версии 1.1 до 2.2.2. Новая версия sqlcipher работает отлично в новой установке или когда я запускаю ее из eclipse. Но когда я обновляю приложение, которое ранее использовало v1.1 sqlcipher с новым v2.2.2, библиотека не загружается должным образом. Когда я вызываю SQLiteDatabase.loadLib (это), приложение аварийно завершает работу. я получаю ниже информацию в LogCatОбновление SqlCipher от 1.1 до 2.2.2
09-11 11: 21: 56,887: I/Database (26277): JNI_OnLoad называется
09-11 11: 21: 56,887: I/Database (26277): JNI_OnLoad зарегистрировать методы
09-11 11: 21: 56.887: E/Database (26277): не можете найти SQLiteDatabase.mNativeHandle
09-11 11: 21: 56.887: E/Cursor (26277): Не удается найти net/sqlcipher/database/SQLiteCompiledSql
09-11 11: 21: 56.887: E/Cursor (26277): Не удается найти net/sqlcipher/d atabase/SQLiteQuery
09-11 11: 21: 56,887: E/Cursor (26277): Не удается найти чистый/sqlcipher/базы данных/SQLiteProgram
09-11 11: 21: 56,887: E/Cursor (26277): не удается найти чистый/sqlcipher/базы данных/SQLiteStatement
09-11 11: 21: 56,887: E/CursorWindow (26277): не удается найти сеть/sqlcipher/CursorWindow
09- 11 11: 21: 56.903: W/dalvikvm (26277): threadid = 11: выход с отключенным исключением (группа = 0x40b73930)
обновление: Я использую proguard. когда я выключил proguard, SQLiteDatabase.loadLibs (это) работал нормально. Но на этот раз я не могу открыть зашифрованную базу данных. Я передаю тот же правильный пароль, чтобы открыть базу данных.
09-11 14: 21: 48,950: I/Database (31543): SQLite вернулся: код ошибки = 26, сообщ = файл шифруется или не является базой данных
09-11 14: 21: 48,950 : E/Database (31543): CREATE TABLE android_metadata не удалось
09-11 14: 21: 48.965: E/Database (31543): Не удалось Setlocale() при создании, закрытии к базе данных
09-11 14: 21: 48.965: E/Database (31543): net.sqlcipher.database.SQLiteException: файл зашифрован или не является базой данных
09-11 14: 21: 48.965: E/Database (31543): at net.sqlcipher.database.SQLiteDatabase.native_setLocale (родной метод)
09-11 14: 48: 48.965: E/Database (31543) : at net.sqlcipher.database.SQLiteDatabase.setLocale (SQLiteDatabase.java:2102)
09-11 14: 21: 48.965: E/Database (31543): at net.sqlcipher.database.SQLiteDatabase. (SQLiteDatabase. Java: 1968)
09-11 14: 21: 48,965: Е/База данных (31543): в net.sqlcipher.database.SQLiteDatabase.openDatabase (SQLiteDatabase.java:901)
09-11 14: 21: 48.965: E/База данных (31543): В net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase (SQLiteDatabase.java:944)
09-11 14: 21: 48.965: E/Database (31543): в net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase (SQLiteOpenHelper.java:107)
09-11 14: 21: 48,965: Е/База данных (31543): в alc.rhapsody.mdd.database.DatabaseAdapter.openDatabase (DatabaseAdapter.java:234)
09-11 14: 21: 48,965: Е/База данных (31543): в alc.rhapsody.mdd.presenter.SplashViewPresenter.getAdmissionAccess (SplashViewPresenter.java:152)
09-11 14: 21: 48,965: E/База данных (31543): at alc.rhapsody.mdd.presenter.SplashViewPresenter.access $ 2 (SplashViewPresenter.java:99)
09-11 14: 21: 48.965: E/Database (31543): at alc.rhapsody .mdd.presenter.SplashVi ewPresenter $ AdmissionCtrl.doInBackground (SplashViewPresenter.java:235)
09-11 14: 21: 48,965: E/Database (31543): в alc.rhapsody.mdd.presenter.SplashViewPresenter $ AdmissionCtrl.doInBackground (SplashViewPresenter.java : 1)
09-11 14: 21: 48,965: Е/База данных (31543): в android.os.AsyncTask $ 2.call (AsyncTask.java:287)
09-11 14:21: 48.965: E/База данных (31543): по адресу java.util.concurrent.FutureTask.run (FutureTask.java:234)
09-11 14: 21: 48.965: E/Database (31543): at java.util .concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExec utor.java:1080)
09-11 14: 21: 48,965: E/Database (31543): в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:573)
09 -11 14: 21: 48.965: E/Database (31543): at java.lang.Thread.run (Thread.java:856)
Я передаю пароль. Как я теперь решил проблему с помощью разработчика sqlcipher. Спасибо за вашу помощь. –
Было бы здорово, если бы вы могли предоставить ссылку или что-то, что разъясняет решение. –