我对 JNI 很陌生,我正在努力解决这个问题。
我有一个由网络库 (alljoyn) 调用的 c++ 回调。
在这个回调中,我需要调用 Java 代码。
由于此回调位于另一个线程中,因此我使用以下代码获取 JNIEnv 指针:
(jvm 是一个全局指针)
JNIEnv *env = NULL;
jvm->AttachCurrentThread(&env, NULL);
问题是,当我尝试使用这个 env 指针调用 FindClass 时,结果为 NULL。
如果我在我的主线程中执行完全相同的 FindClass 调用,那么一切正常。
我怎样才能解决这个问题 ?这是否与类路径有关?