文件目录:EngineSourceRuntimeLaunchPrivateAndroidAndroidJNI.cpp
jmethodID FJavaWrapper::FindMethod(JNIEnv* Env, jclass Class, const ANSICHAR* MethodName, const ANSICHAR* MethodSignature, bool bIsOptional)
{
jmethodID Method = Class == NULL ? NULL : Env->GetMethodID(Class, MethodName, MethodSignature);
CHECK_JNI_RESULT(Method);
return Method;
}
调用示例
void JarTestWrapper::FindClassesAndMethods(JNIEnv* Env)
{
bool bIsOptional = false;
JarTestWrapper::CallJarFunc = FJavaWrapper::FindMethod(Env, FJavaWrapper::GameActivityClassID, "CallTest", "()V", bIsOptional);
}
需要修改的主要是MethodName和MethodSignature
MethodName就是要调用的函数名称,即APL中缩写的接口
MethodSignature为JAVA的函数签名
对应到UE4中
其它类型 JAVA的函数签名参考如下
参考文章:Java中的方法签名_学习空间-CSDN博客_方法签名这几天不知道怎么了,总是碰到各种各样的NoSuchMethodException异常,但是Java为了方便值给了我们方法的方法签名,这对于刚接触的程序猿来说貌似有点蛋疼。今天从网上好好的百度/google了一下,结合自己掌握的知识,现将有关方法签名的相关信息记录下来,以备以后使用。首先,先来介绍一下什么是方法签名,说到方法签名,我们就不得不提到java中的方法重载,提到方法重载就不得不提到面向https://blog.csdn.net/li_xiao_dai/article/details/17420911



