最近项目中涉及到Android的移植,要用到java调用c++,方法其实也很简单。
假设java这边我需要调用C++那边的函数void PaySuccess(int type);
1、在java这边申明
1
|
private
static
native void
nativePaySuccess(int
i);
|
调用时,
1
|
nativePaySuccess(1);
|
这样java会调用到C++那边。
2、C++那边实现该方法:
01
|
#include
<jni.h>
|
02
|
03
|
extern
"C"
|
04
|
05
|
{
|
06
|
07
|
void
Java_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方法名。
Java调用C++示例
本文介绍如何在Android环境中使用Java调用C++的方法。通过JNI接口,具体展示了从Java声明native方法到C++中实现对应功能的过程,并强调了命名规则的重要性。
3426

被折叠的 条评论
为什么被折叠?



