Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

SQLCipher*:面向 Android* 平台的英特尔® x86 编译

$
0
0

下载 [PDF 488 KB]

本文将逐步介绍如何为 Linux* 主机上的 Android 构建 SQLCipher,以及针对英特尔 ® x86 目标的架构设置。

SQLCipher 是 SQLite* 的开源扩展指令集,为数据库文件提供透明的 256 位 AES 加密。 SQLCipher 一直用作许多商用和开源产品的安全数据库解决方案,成为移动、嵌入式和桌面应用最受欢迎的加密数据库平台之一。

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 环境。

设置及前提条件

开始设置之前,需要完成以下下载和安装:

  1. 下载 Android SDK
  2. 下载 Android NDK
  3. 下载 Java 开发套件 (JDK)

面向 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

参考资料

SQLCipher Community 版本:https://www.zetetic.net/sqlcipher/open-source/

借助 Windows 上的 SQLCipher 编译 SQLite: http://stackoverflow.com/questions/4353037/compile-sqlite-with-sqlcipher-on-windows/4399633#4399633

面向 Android 应用集成的 SQLCipher: https://www.zetetic.net/sqlcipher/sqlcipher-for-android/

关于作者

Praveen Kundurthy 任职于英特尔® 软件和服务事业部。 他拥有计算机工程硕士学位。 他主要专注于移动技术、Microsoft Windows* 和游戏开发领域。


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>