net.sqlcipher.database.SQLiteException:文件已加密或不是数据库

时间:2014-07-09 11:12:02

标签: android sqlite sqlcipher

我正在将我的应用更新为新版本而且我遇到了这个例外:

07-09 10:12:41.305  28306-28306/? E/Database﹕ CREATE TABLE android_metadata failed
07-09 10:12:41.305  28306-28306/? E/Database﹕ Failed to setLocale() when constructing, closing the database
    net.sqlcipher.database.SQLiteException: file is encrypted or is not a database
            at net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method)

我可以确认SQLCipher的版本没有更新,数据库密钥没有被更改。以前版本的数据库使用相同的密钥加密,我在过去几次成功完成了应用程序更新。干净的安装或清除应用程序数据可解决此问题。我将打印的proguard作为一个原因打折,因为未经编程的构建会引发相同的异常。我尝试使用PRAGMA cipher_migrate方法更新到最新版本的SQLCipher,我仍然遇到了问题。

是否可以通过更新Android SDK工具等引起?

有什么建议吗?

由于 大卫

0 个答案:

没有答案