作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 JNI 的新手,我正在努力解决这个问题。
我有一个由网络库 (alljoyn) 调用的 c++ 回调。
在这个回调中,我需要调用Java代码。
由于这个回调在另一个线程中,我使用以下代码获取 JNIEnv 指针:
(jvm 是一个全局指针)
JNIEnv *env = NULL;
jvm->AttachCurrentThread(&env, NULL);
问题是,当我尝试使用此 env 指针调用 FindClass 时,结果为 NULL。
如果我在主线程中执行完全相同的 FindClass 调用,一切正常。
我该如何解决这个问题?这与类路径有某种关系吗?
最佳答案
可以在 developer.android 上找到答案和官方解决方法.如果您必须超越为您的 native 代码可能需要的所有类预缓存全局引用,您将在此处找到一个成功的解决方案来缓存正确的类加载器:FindClass from any thread in Android JNI
关于java - JNI : Unable to find java class from native method in a callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17501948/
我是一名优秀的程序员,十分优秀!