此问题已在许多帖子中提出并回答,例如this!
但是如何直接从c ++调用?为此,我如何获得JNIEnv *和jobject? 这可能吗 ?
答案 0 :(得分:1)
要获得JNIEnv
,您可以编写将在加载共享库期间调用的全局JNI_OnLoad
函数。此函数将JavaVM
指针作为参数。使用它,您可以获得当前线程的JNIEnv
(如果之前没有JNIEnv
则创建新线程。)
关于get jobject的位置 - 如果这是您要实例化的新对象,则使用JNIEnv::NewObject
方法。否则,您需要将要调用方法的对象从java端传递给C / C ++。
答案 1 :(得分:0)