我有两个相互关联的项目。我在一个存储库中使用的jni文件在另一个存储中也是需要的。
JNIEXPORT
jboolean JNICALL OBJECT_TRACKER_METHOD(haveObject)(JNIEnv* env, jobject thiz,
jstring object_id);
这个函数也将被另一个类Java_com_sensennetworks_senanpr_Tracking_ObjectTracker_
使用。
有没有一个我可以为两个存储库使用相同的jni文件?
到目前为止,最简单的方法是定义这两个函数,并让它们调用一个公共实现。
第二种方法是在库的JNI_OnLoad
函数中调用RegisterNatives
。这允许您将任意C/C++函数绑定到特定类上的特定方法。
最后,您可以说服链接器创建一个从一个到另一个的符号别名。