在C中为Android编译库

时间:2012-07-22 17:19:19

标签: android c android-ndk

我已经安装了SDK,NDK,JDK和Cygwin。我想知道是否需要编辑库代码以使它们为Android编译(armv7)。

我基本上需要为Android安装各种C应用程序,但它们都依赖于第三方库,如PCRE,OpenSSL等。我的经验告诉我,PCRE在没有错误的情况下编译Windows,但我们在这里谈论Android(运行Linux内核)。

我是否需要为库中的每个函数编写一个C包装器以满足JNI调用约定?

1 个答案:

答案 0 :(得分:1)

Android NDK将编译标准C语法,但Android没有与桌面相同的C stdlib库;相反,它有自己的替代品,叫做Bionic。有时当你编译大型项目时,你会遇到仿生不支持的stdlib函数调用,你必须提出一个小的解决方法。

有时流行的库有现有的JNI包装器,否则你必须为应用程序调用的函数进行JNI调用。