最近把IOS的项目跑到Android上,免不了使用JNI,C++掉java还是很简单的。
1、导入头文件
3 | #include "platform/android/jni/JniHelper.h" |
2、实现方法:
03 | if (JniHelper::getStaticMethodInfo(t |
05 | , "com/cocos2dev/JNIDemo/FMJNIHelp" |
09 | , "(Ljava/lang/String;Ljava/lang/String;)V" )) |
13 | jstring stringArg1 = t.env->NewStringUTF( "2" ); |
15 | jstring stringArg2 = t.env->NewStringUTF( "10" ); |
17 | t.env->CallStaticVoidMethod(t.classID, t.methodID, stringArg1, stringArg2); |
19 | t.env->DeleteLocalRef(stringArg1); |
21 | t.env->DeleteLocalRef(stringArg2); |
23 | t.env->DeleteLocalRef(t.classID); |
注意:
1、com/cocos2dev/JNIDemo/FMJNIHelp指的是java那边需要调用的方法的类名,前面是包名。
2、(Ljava/lang/String;Ljava/lang/String;)V表示传递的参数,两个字符串。