我使用我的应用程序发布了一个只读数据库,包括它在 Assets/Database 目录中。所有数据均已预先填充。
在与数据库集成SQLCipher
并加密后,我注意到 APK 的大小从25MB 膨胀到了 150MB。原因是SQLite db 文件不再被压缩。
Android Studio 通常会压缩资源,但 DB 文件加密后似乎压缩文件没有效果。我尝试在外部使用常规 Zip 和 7Zip 进行测试,但没有区别,压缩文件与原始文件大小相同。
未加密的数据库大约为 130MB,压缩时只需要 18MB,因为其中大部分是文本和字符串压缩得很好。压缩加密的 db 文件在大小上没有区别。
通过服务器填充不是一个可行的选择,因为由于记录数量的原因,这将需要很长时间。下一个选择是从服务器下载完全加密的数据库文件,但对于 140MB 的文件,它仍然会太慢。
需要找到一种方法将加密数据库与应用程序一起发送,同时仍将应用程序大小保持在合理的20-30MB 范围内。
有任何想法吗?
谢谢。