文件目录:Engine\Source\Runtime\Launch\Private\Android\AndroidJNI.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的函数签名参考如下

版权声明:本文为ZFSR05255134原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。