我正在将我的应用更新为新版本而且我遇到了这个例外:
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工具等引起?
有什么建议吗?
由于 大卫