Android studio+SQLCipher加密SQLite数据库的几个坑

时间:2024-04-06 19:14:44

Android studio SQLCipher加密SQLite数据库的几个坑

前言:Android 自带的SQLite数据库可以用于数据存储,但是,大家都知道其数据是存储于手机的data/data/包名/之下,如果手机获得root权限,那么数据自然也就暴露无疑,因此对SQLite数据库进行加密是很有必要的。SQLCipher是基于SQLite进行扩展的开源数据库,采用OpenSSL加密库提供的算法,非常适合于移动开发。

一、Android studio中使用SQLCipher的几个坑(注意点)
1、SQLCipher for android 3.1.0下载网盘链接,提取码:f7kk
2、解压下载压缩包,结构如下:
Android studio+SQLCipher加密SQLite数据库的几个坑
3、将assets文件夹和libs文件夹 (此步骤必不可少!!!) 拷贝到你的工程模块目录下,并且右键sqlcipher.jar文件,将其添加到库中。最终工程目录如下:
Android studio+SQLCipher加密SQLite数据库的几个坑

4、将assets文件夹拷贝到Android工程的main目录下;同时在main目录下新建jniLibs文件夹 (坑1,一定要建该文件夹,否则会报错:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader…couldn’t find "libstlport_shared.so),将解压的libs文件夹下文件全部拷贝到jniLibs文件夹下,最终Android工程的main目录结构图如下
Android studio+SQLCipher加密SQLite数据库的几个坑
5、此时如果直接运用SQLCipher (坑2,会报如下错误java.lang.UnsatisfiedLinkError: dlopen failed: library “libutils.so” not found),解决方法是将工程Module中的目标sdk版本改为22(23以下均可),如下
Android studio+SQLCipher加密SQLite数据库的几个坑
6、至此便可顺利的使用SQLCipher了!!!具体的使用方法会在下一篇文章中详细讲解