1. 程式人生 > >cocos2d-x 使用JNI從Java調C++

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方法名。