cocos2dx调用android的说明很多,我直接给例子
android文件:
package com.kimifly;
//import android.app.Activity;
import android.util.Log;
public class Kimijni{
public static void Gokimi(){
Log.e("kimi", "hi jni, i find you!");
System.out.print("hi");
}
public static int Getkimistring(){
return 88;
}
public static String KimiGetkimistring(){
return "kimi get string";
}
}
cocos2dx的cpp文件:
void HelloWorld::kimijingogogo()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/kimifly/Kimijni","Gokimi", "()V");
if (!isHave) {
log("jni no");
}else{
log("jni ok");
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
}
log("jni-java go");
#endif
}
void HelloWorld::stringkimijingogogo()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave = JniHelper::getStaticMethodInfo(minfo, "com/kimifly/Kimijni","Getkimistring","()I");
jobject jobj;
if (!isHave) {
}else{
jint iret;
iret = minfo.env->CallStaticIntMethod(minfo.classID, minfo.methodID);
log("ret:%d", iret);
}
#endif
}
void HelloWorld::Kimistringkimi()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave = JniHelper::getStaticMethodInfo(minfo, "com/kimifly/Kimijni","KimiGetkimistring","()Ljava/lang/String;");
if (!isHave) {
}else{
jobject jobj;
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
jstring jstr = jstring(jobj);
std::string sret = JniHelper::jstring2string(jstr);
log("ret:%s", sret.c_str());
}
#endif
}