JNI:无法在回调中从本机方法中找到Java类

 2023-01-20    311  

问题描述

我对JNI很新,我正在为这个问题而苦苦挣扎.

我有网络库(alljoyn)调用C ++回调.

JNI:无法在回调中从本机方法中找到Java类

在此回调中,我需要调用Java代码.

由于此回调在另一个线程中,因此我使用以下代码获取JNIENV指针:

(JVM是全球指针)

JNIEnv *env = NULL;  
jvm->AttachCurrentThread(&env, NULL);

问题是,当我尝试使用此ENV指针调用FindClass时,结果为null.

如果我在主线程中进行完全相同的FindClass调用,一切正常.

我该如何解决?这与classpath有关吗?

推荐答案

可以在上找到答案和官方解决方法开发人员.android .如果您必须超越本机代码可能需要的所有类的预播预参考,您将找到一个成功的解决方案,可以在此处缓存正确的类加载程序: findClass

以上所述是小编给大家介绍的JNI:无法在回调中从本机方法中找到Java类,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26082.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。