原创文章,欢迎转载!转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com
原文链接地址: cocos2d-x 从C++调Java
最近把IOS的项目跑到Android上,免不了使用JNI,C++掉java还是很简单的。
1、导入头文件

  1. #include <jni.h>
  2. #include "platform/android/jni/JniHelper.h"
复制代码

2、实现方法:

  1. JniMethodInfo t;
  2. if (JniHelper::getStaticMethodInfo(t
  3. , "com/cocos2dev/JNIDemo/FMJNIHelp"
  4. , "starPayMoney"
  5. , "(Ljava/lang/String;Ljava/lang/String;)V"))
  6. {
  7. jstring stringArg1 = t.env->NewStringUTF("2");// $
  8. jstring stringArg2 = t.env->NewStringUTF("10");  // count
  9. t.env->CallStaticVoidMethod(t.classID, t.methodID, stringArg1, stringArg2);
  10. t.env->DeleteLocalRef(stringArg1);
  11. t.env->DeleteLocalRef(stringArg2);
  12. t.env->DeleteLocalRef(t.classID);
  13. }
复制代码

注意:
1、com/cocos2dev/JNIDemo/FMJNIHelp指的是java那边需要调用的方法的类名,前面是包名。
2、(Ljava/lang/String;Ljava/lang/String;)V表示传递的参数,两个字符串。

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()