首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLCipher存在的问题

SQLCipher存在的问题
EN

Stack Overflow用户
提问于 2013-06-10 17:27:46
回答 1查看 252关注 0票数 0

我有一个应用程序,它使用的数据库是用SQLCipher加密的。一切都很好。但是现在我在数据库中添加了一些数据。以前大约是1.4 MB,现在大约是6 MB。尝试使用新数据库运行同一个应用程序会产生以下错误:

代码语言:javascript
复制
06-10 17:20:31.819: E/Database(3821): CREATE TABLE android_metadata failed
06-10 17:20:31.889: E/Database(3821): Failed to setLocale() when constructing, closing the database
06-10 17:20:31.889: E/Database(3821): info.guardianproject.database.sqlcipher.SQLiteDatabaseCorruptException: database disk image is malformed
06-10 17:20:31.889: E/Database(3821):   at info.guardianproject.database.sqlcipher.SQLiteDatabase.native_setLocale(Native Method)
06-10 17:20:31.889: E/Database(3821):   at info.guardianproject.database.sqlcipher.SQLiteDatabase.setLocale(SQLiteDatabase.java:2015)
06-10 17:20:31.889: E/Database(3821):   at info.guardianproject.database.sqlcipher.SQLiteDatabase.<init>(SQLiteDatabase.java:1881)
06-10 17:20:31.889: E/Database(3821):   at info.guardianproject.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:864)

但是,与数据库的旧版本一样,表android_metadata已经存在。唯一的更改是db中更多的字段和一个表中的更多行。

我会为每一个提示感到高兴:-)

EN

回答 1

Stack Overflow用户

发布于 2013-06-11 15:05:07

根据堆栈跟踪中的包名,您似乎在使用SQLCipher库的旧版本。您可以考虑升级到可用的这里库的最新版本。此外,您应该尝试在桌面上本地打开数据库,以验证该文件是否已损坏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17029561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档