Android NDK上提供的库?

时间:2011-07-12 07:03:18

标签: android c++ c android-ndk

Android NDK默认有可用的库吗?如果没有,我可以使用任何c ++ / c库,只要我自己包含它吗?

特别是,我需要压缩,加密,正则表达式和sqlite。我在考虑使用zlibcrypto++sqlite(duh!)和boost,但如果已经可以使用,则可以使用其他任何内容。

此外,如果内置的内容不存在,您会推荐其他内容吗(我可能会选择公共域名,或BSD或类似内容)

4 个答案:

答案 0 :(得分:4)

  • SQLite可通过Java中的抽象database access在Android上获得。 .so本身是私有的。如果需要修改,您当然可以编译自己的SQLite库,但通常您应该从Java访问它。我这样做是为了加密目的。
  • zlib可供NDK使用
  • crypto++当然可以通过NDK编译
  • Boost肯定适用于Android / NDK(我目前正在大量使用它)

答案 1 :(得分:2)

默认情况下,Android NDK会提供一些库,即所谓的“稳定本机API”(http://developer.android.com/sdk/ndk/overview.html):

  • libc(C库)标题
  • libm(数学库)标题
  • JNI接口标题
  • libz(Zlib压缩)标题
  • liblog(Android日志记录)标题
  • OpenGL ES 1.1和OpenGL ES 2.0(3D图形库)标题
  • libjnigraphics(像素缓冲区访问)标头(适用于Android 2.2及更高版本)。
  • C ++支持的最小标头集
  • OpenSL ES原生音频库 Android原生应用程序APIS

答案 2 :(得分:1)

首先,我认为您需要从此处下载NDK软件包:http://developer.android.com/sdk/ndk/index.html并调查软件包中的文档。我相信你会得到大部分问题的答案。 并快速回答您的问题。是的,Android NDK默认有库。例如标准C和C ++库。

答案 3 :(得分:0)

这只是关于Crypto ++的部分答案....

Crypto ++有一个wiki页面,其中包含来自Android (Command Line)命令行的构建说明。该过程将创建各种库,并向您展示如何构建cryptest.exe以验证设备上的库。但是你仍然需要使用Android的构建系统创建包装器项目。

PiotrMorgwaiKotarbiński有一个关于使用Android修改后的构建系统构建Crypto ++库的页面。见Building Crypto++ with NDK toolchain。我不相信Piotr的文章验证了设备上的库。