使用android studio开发jni也来越方便了,我就不再说明环境怎么配。直接开始复习代码。
1、jni返回值,boolean类型的。在C语言中没有布尔类型,0为假,非0为真。
typedef int BOOL;
#define TRUE 1;
#define FALSE 0;
extern "C"
JNIEXPORT jboolean JNICALL
Java_com_example_ndk1_JniTest_testBoolean(JNIEnv *env, jobject instance) {
// 定义一个布尔变量
BOOL result = TRUE ;
return result;
}
测试代码
//测试
jniTest=new JniTest();
boolean result=jniTest.testBoolean();
Log.e(Tag,"返回:"+result);
结果
07-28 12:02:45.768 10054-10054/? E/MainActivity: 返回:true
int类型测试:
JNIEXPORT jint JNICALL
Java_com_example_ndk1_JniTest_testInt(JNIEnv *env, jobject instance, jint id) {
int receiveInt=id;
LOGE("接收到 int:%d",receiveInt);
return 2;
}
测试:
int resultInt = jniTest.testInt(5);
Log.e(Tag,"返回:"+resultInt);
日志:
07-28 14:41:46.076 17173-17173/com.example.ndk1 E/MainActivity: 返回:2