cocos2d-x 使用JNI从Java调C++

最近项目中涉及到Android的移植,要用到java调用c++,方法其实也很简单。

假设java这边我需要调用C++那边的函数void PaySuccess(int type);

1、在java这边申明

1 privatestatic native voidnativePaySuccess(inti);

调用时,

1 nativePaySuccess(1);

这样java会调用到C++那边。

2、C++那边实现该方法:

01 #include <jni.h>
02  
03 extern"C"
04  
05 {
06  
07 voidJava_com_cocos2dev_test_JNIDemo_nativePaySuccess(JNIEnv*  env, jobject thiz,jint a)
08  
09 {
10  
11 //这里java调用nativePaySuccess(1);,这里就会被调用。jint a = 1
12  
13 }
14  
15 }

注意:

C++这边请注意一下c++这边方法申明的命名规则,JNIDemo表示java那边方法所在类名,com_cocos2dev_test_该类的包名。nativePaySuccess方法名。


猜你喜欢

转载自blog.csdn.net/Finans/article/details/9089113