Android(安卓)studio+SQLCipher加密SQLite数据库的几个坑
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、解压下载压缩包,结构如下:
3、将assets文件夹和libs文件夹 (此步骤必不可少!!!) 拷贝到你的工程模块目录下,并且右键sqlcipher.jar文件,将其添加到库中。最终工程目录如下:
4、将assets文件夹拷贝到Android工程的main目录下;同时在main目录下新建jniLibs文件夹 (坑1,一定要建该文件夹,否则会报错:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader…couldn’t find "libstlport_shared.so),将解压的libs文件夹下文件全部拷贝到jniLibs文件夹下,最终Android工程的main目录结构图如下
5、此时如果直接运用SQLCipher (坑2,会报如下错误java.lang.UnsatisfiedLinkError: dlopen failed: library “libutils.so” not found),解决方法是将工程Module中的目标sdk版本改为22(23以下均可),如下
6、至此便可顺利的使用SQLCipher了!!!具体的使用方法会在下一篇文章中详细讲解
更多相关文章
- [置顶] android怎样调用@hide和internal API
- Android(安卓)manifest中关于 sharedUserId 数据权限
- 开机时候系统总是提醒Android系统更新
- 将android某些类进行打包和混淆
- Android(安卓)Studio安装过程及常见问题
- Android之xUtils-3.0数据库框架详解
- 如何启动Android虚拟机中的命令行窗口(adb)?
- 将apk装入system/app
- Android用SQLite存储数据详解