【问题标题】:Android NDK: Autogenerate function declarations?Android NDK:自动生成函数声明?
【发布时间】:2009-11-29 12:51:14
【问题描述】:

我正在尝试在我的 android 项目中使用预先存在的本机 C 库。使用 NDK 工具构建的库很好...

现在我明白了,我不能只调用库,而是我的库需要包含 jni.h 并添加特定的函数声明,例如:

JNIEXPORT jint JNICALL Java_com_MultPkg_Mult_mult(JNIEnv *, jobject, jint, jint);

但由于我使用的现有库也用于其他平台,因此我不喜欢在整个代码中乱扔这些定义的想法,这些定义最终只会包装我的真实功能......

有没有办法解决这个问题?如果这真的是唯一的方法,有没有办法根据我现有的 C 函数声明/定义自动生成这些?

非常感谢

【问题讨论】:

    标签: java android java-native-interface header android-ndk


    【解决方案1】:

    使用 JDK 附带的 javah 工具,因为它不是 Android 的 SDK 或 NDK 的一部分。

    【讨论】:

      【解决方案2】:

      使用 SWIG 自动生成 jni 兼容的 c 文件。它还生成 .java 类,以便您的 android 与包含所有本机方法的 java 类进行交互。

      看看这个:SWIG Android

      【讨论】:

        猜你喜欢
        • 2015-10-17
        • 2016-05-16
        • 2011-07-18
        • 2017-12-06
        • 1970-01-01
        • 2013-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多