1

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

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

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

4

1 回答 1

1

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

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

于 2012-07-22T17:55:37.427 回答