1

通过该RegisterNatives函数,可以将本机函数绑定到 Java 方法签名。现在我遇到另一个库调用的情况,RegisterNatives我想从本机 C 调用这个函数(我不能从 Java 调用它,因为签名被标记为私有)。有什么方法可以检索所有当前注册的功能?

4

1 回答 1

0

  • 首先在要调用的标头中声明方法。
  • 创建一个要从 java 调用的 jni 接口。
  • 使用 make 文件中的库作为源,例如 -

    MY_BASE_JNI_PATH := $(LOCAL_PATH)
    JNI_SHARED_LIB_PATH := $(MY_BASE_JNI_PATH)/../lib/shared
    LOCAL_LDLIBS := \
                -L$(JNI_SHARED_LIB_PATHH) \
                -ljni_demo
    

  • 在无法从 java 调用的 jni 方法中声明标头并实现您的 c 代码。

    如果你通过Android Gingerbread source jni场景就可以很好的理解。玩得开心...

  • 于 2012-05-15T09:01:13.020 回答