cocos2dx版本:cocos2dx2.2
示例下载地址:http://pan.baidu.com/s/1jGsT9C6
这里只是简单的说下如何调用非静态函数
c++调用java
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
{
JniMethodInfo methodInfo;
//判断有没有getObject()这个函数
bool isHave = JniHelper::getStaticMethodInfo(methodInfo,
"com/test/platformcall/PlatformCall",//需要调用的Java文件
"getObject",//调用的方法名
"()Ljava/lang/Object;");//参数
jobject activityObj;
if (isHave)
{
//获得一个实例对象,通过实例对象调用非静态函数
activityObj = methodInfo.env->CallStaticObjectMethod(methodInfo.classID, methodInfo.methodID);
}
//判断有没有say()这个函数
isHave = JniHelper::getMethodInfo(methodInfo,
"com/test/platformcall/PlatformCall",
"say", //say()为非静态的函数
"()V");