Android NDK上可用的库

Libraries available on Android NDK?

本文关键字:NDK Android      更新时间:2023-10-16

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

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

另外,如果没有可用的内置,你会推荐其他的东西,而不是我上面的选择(我更喜欢公共领域,或者BSD或类似的)

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

默认情况下,Android NDK提供了一些库,所谓的'稳定的本地api ' (http://developer.android.com/sdk/ndk/overview.html):

  • libc (C库)头文件
  • libm (math library) headers
  • JNI接口头
  • libz (Zlib压缩)headers
  • liblog (Android logging) header
  • OpenGL ES 1.1和OpenGL ES 2.0 (3D图形库)头文件
  • libjnigraphics(像素缓冲区访问)头(Android 2.2及以上)。
  • 支持c++的最小头文件集
  • OpenSL ES原生音频库Android原生应用api

首先,我认为您需要从这里下载NDK包:http://developer.android.com/sdk/ndk/index.html并研究包中的文档。我相信你会得到大多数问题的答案。快速回答你的问题。是的,在Android NDK中默认有库。例如标准C和c++库

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

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

Piotr Morgwai Kotarbiński有一个关于使用Android修改的构建系统构建Crypto++库的页面。参见使用NDK工具链构建Crypto++。我不相信Piotr的文章在设备上验证了库。