SQLCipher 由 Zetetic LLC 开发,首次发布于 2008 年 11 月。 起初,SQLCipher 单独用作密码管理器和数据仓库 Strip 的安全后端。 不过,由于它开销低、外形紧凑,很快开始流行,现在,它已成为平台使用最为广泛的安全数据库解决方案之一。 2011 年,在 Android 支持需求不断增加的形势下,Guardian Project 和 Zetetic 联合发布了面向 Android 的 SQLCipher。 此外,SQLCipher 还成功应用于其他平台,包括 Windows* C/C++、.NET、Ruby*、Java*、PHP*、Python*、QT*、Mac OS X* 和 Linux。
设置 Linux 环境
推荐按照以下流程设置 Linux 环境。
设置及前提条件
开始设置之前,需要完成以下下载和安装:
面向 Android 的开源 SQLCipher 可使用以下命令从 https://www.zetetic.net/sqlcipher/open-source/URL下载:
git clone https://github.com/sqlcipher/android-database-sqlcipher.git
获取克隆至本地文件系统的存储库后,可以移至 “Linux Environment” 部分的 “Build Procedure”。
“Linux Environment” 部分的 “Build Procedure”
将内容解压至本地目录后,提示
/home/test/android-database-cipher/
执行以下步骤:
Cd /home/test/android-database-cipher/
~/android-database-cipher> make init
注: 克隆 Android sqlcipher 所需的库将花费一些时间。
以下库将作为 sqlcipher 外部库的一部分克隆和下载:
- external/sqlcipher
- external/android-sqlite
- external/dalvik
- external/icu4c
- external/openssl
- external/platform-frameworks-base
Perform the following step:
~/android-database-cipher> make
注:这样可构建面向Application.mk
文件中提到的目标架构的所有库。 如果 make 失败,请参考本文底部的“故障排除与已知问题”部分。
英特尔 x86 Android 配置设置
该架构配置可与 Android 项目相同。 确保您有面向英特尔 x86 的以下配置:
Open <project-folder>/jni/Application.mk
确保您进行了以下设置:
APP_ABI := x86
输出部分
构建成功后,二进制文件将生成至以下路径:
<project-dir>/libs/x86/libdatabase_sqlcipher.so <project-dir>/libs/x86/libsqlcipher_android.so <project-dir>/libs/x86/libstlport_shared.so
故障排除与已知问题
- 问题: Make Failure,提示 “android update project” 失败。
- 解决方法:确保已将 Android 工具路径添加至 PATH 环境。
- 示例:
export PATH=$PATH:~/Android/adtbundle/sdk/tools
export PATH=$PATH:~/Android/adtbundle/sdk/build-tools/android-4.4
- 问题:Make 命令失败,提示 “ndk-build : command not found”
- 解决方法:确保已将 ndk-build 路径添加至 PATH 环境。
- 示例:
export PATH=$PATH:~/Android/android-ndk-r9b
- 问题:如果收到提示 “build.xml not found” 的错误。
- 解决方法:通过发布以下命令,确保已自动生成 build.xml:
~/sqlcipher/android-database-sqlcipher> cd ..
~/sqlcipher> android update project --target 1 --path ./ --subprojects
注: 如欲获取目标 ID,可发布命令 android 列表对象
- ~/sqlcipher> cd android-database-sqlcipher
- ~/sqlcipher/android-database-sqlcipher> make
- 解决方法:通过发布以下命令,确保已自动生成 build.xml:
参考资料
关于作者
Praveen Kundurthy 任职于英特尔? 软件和服务事业部。 他拥有计算机工程硕士学位。 他主要专注于移动技术、Microsoft Windows* 和游戏开发领域。
本文暂时没有评论,来添加一个吧(●'◡'●)