允许转载,请标明出处,谢谢。
因为jni代码在win32下无法编译,解决方法如下:
头文件需要如下
#include "cocos2d.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include <jni.h>
#include "platform/android/jni/JniHelper.h"
#include <android/log.h>
#endif
USING_NS_CC;
.cpp文件 jni相关代码写法:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo methodInfo ;
// 获取UmengGameActivity的静态方法openShareBoard
bool isHave = JniHelper::getStaticMethodInfo( methodInfo,
"com.xx.xxx.xxx类", "xx方法", "()V");
if(isHave){
methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID);
}else{
log("there is no com.xx.xxx.xxx类.xxx方法 ");
}
#endif
JniHelper里的参数具体含义请google或百度,本文是解决问题的。
将Jni相关代码包裹进检测平台的判断代码内,就不会报错了 error link2019: 无法解析的外部命令 JniHelper::getStaticMethodInfo
博主也是小白一枚,用了很久时间找到问题所在,故而分享给大家。哪里有问题请留言指出,感激不尽。