我使用Android代码调用cocos2dx遇到了一个问题。我不会在Android的cocos2dx上下文中调用,我不确定下面的代码是否有问题,然后我需要在Android中调用以下方法,以及发生这种调用的错误。Android Cocos2d-x 3.7:如何在cocos2d-x中获得应用程序上下文?
void AdmasterConvSDK::AdMasterInitial(std::string appId)
{
JniMethodInfo methodInfo;
if (JniHelper::getStaticMethodInfo(methodInfo, "com/admaster/square/api/ConvMobiSDK", "initial",
"(Landroid/content/Context;Ljava/lang/String;)V")) {
jstring appID = methodInfo.env->NewStringUTF(appId.c_str());
jclass cl = methodInfo.env->FindClass("org/cocos2dx/lib/Cocos2dxActivity");
jmethodID methodContext = methodInfo.env->GetStaticMethodID(cl,"getContext","()Landroid/content/Context");
jobject context = methodInfo.env->CallStaticObjectMethod(cl,methodContext);
methodInfo.env->CallStaticVoidMethod(methodInfo.classID,methodInfo.methodID,context,appID);
} else {
log("ERROR");
}
}
的Android代码:
public static void initial(Context context, String m2id) {
ConvMobiInstance adjustInstance = ConvMobiSDK.getDefaultInstance();
adjustInstance.initial(context, m2id);
}
错误:
08-31 17:03:07.083: A/libc(22452): Fatal signal 11 (SIGSEGV) at 0x0000001c (code=1), thread 22470 (Thread-38567)
已经研究了很长一段时间,我希望能有出现,以帮助回答这个问题,在此先感谢。