这个问题已经在很多这样的帖子中被问到并得到了回答!
但是我怎样才能直接从 c++ 调用呢?为此,我怎样才能获得 JNIEnv* 和 jobject ?这可能吗 ?
这个问题已经在很多这样的帖子中被问到并得到了回答!
但是我怎样才能直接从 c++ 调用呢?为此,我怎样才能获得 JNIEnv* 和 jobject ?这可能吗 ?
为此JNIEnv
,您可以编写JNI_OnLoad
将在加载共享库期间调用的全局函数。该函数将JavaVM
指针作为参数。使用它,您可以获得JNIEnv
当前线程(如果JNIEnv
以前没有,则创建新线程)。
至于在哪里获得 jobject - 如果这是您正在实例化的新对象,那么您使用JNIEnv::NewObject
方法。否则,您需要将要在其上调用方法的对象从 java 端传递给 C/C++。
您需要阅读JNI 规范的调用部分。