AndroidNDK未解决的引用“invoke”
创始人
2024-10-09 10:02:18
0

这个问题的解决手段是,你需要在将JNI方法名称实际传递给C++代码之前将名称转换为JNI可识别的名称。 在C++代码中使用该名称时,您需要将其转换回原始名称。

以下是示例代码:

在Java代码中,你需要这样做:

public native void foo(int x);

然后在C++中,你需要这样做:

JNIEXPORT void JNICALL Java_com_example_foo(JNIEnv * env, jobject obj, jint x) { jclass clazz = env->GetObjectClass(obj); jmethodID mid = env->GetMethodID(clazz, "foo", "(I)V"); env->CallVoidMethod(obj, mid, x); }

在这个示例中,我们使用Java_com_example_foo作为JNI函数的名称,因此我们需要将foo转换为Java_com_example_foo。

同样的,如果你需要在C++代码中使用invoke函数,你需要将其转换为JNI的命名规范:

jclass clazz = env->FindClass("java/lang/reflect/Method"); jmethodID invokeID = env->GetMethodID(clazz, "invoke", "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;");

在这个示例中,我们使用invoke作为JNI函数的名称,因此我们需要将其转换为JNI命名规范。

这样做应该能解决引用“invoke”未解决的问题。

相关内容

热门资讯

透视大厅!aa poker透视... 透视大厅!aa poker透视软件(透视)开挂辅助器(原来是有挂)-哔哩哔哩1、超多福利:超高返利,...
透视脚本!xpoker辅助工具... 透视脚本!xpoker辅助工具,pokernow辅助工具,方案教程(一贯真的有挂)-哔哩哔哩1、不需...
透视修改器!wepoker透视... 透视修改器!wepoker透视有吗(透视)开挂辅助神器(竟然是有挂)-哔哩哔哩wepoker透视有吗...
透视科技!wejoker透视方... 透视科技!wejoker透视方法,wepoker线上大神,操作教程(确实存在有挂)-哔哩哔哩在进入w...
透视苹果版!wepoker黑侠... 透视苹果版!wepoker黑侠辅助器正版下载,aapoker透视插件,举措教程(切实真的是有挂)-哔...
透视存在!wepoker辅助脚... 透视存在!wepoker辅助脚本(透视)开挂辅助软件(确实存在有挂)-哔哩哔哩1、玩家可以在wepo...
透视辅助!wejoker辅助机... 透视辅助!wejoker辅助机器人,wepoker挂,窍要教程(总是存在有挂)-哔哩哔哩wejoke...
透视私人局!pokemmo手机... 透视私人局!pokemmo手机脚本,wepoker安装教程,经验教程(真是是真的挂)-哔哩哔哩1.p...
透视私人房!aapoker辅助... 透视私人房!aapoker辅助器怎么用(透视)开挂辅助软件(竟然存在有挂)-哔哩哔哩所有人都在同一条...
透视透视!大菠萝789辅助器下... 透视透视!大菠萝789辅助器下载,wepoker破解器激活码,策略教程(一直有挂)-哔哩哔哩1、玩家...