NDK-jni心得 c和c++对JNIenv的不同处理

在NDK开发中,写jni函数时,遇到 “JNIEnv *env”参数时。如果是.cpp文件,就要如下调用:

env->GetStringUTFChars(name,NULL);env->ReleaseStringUTFChars(name, str);

如果是.c文件,就要如下调用:

(*env)->GetStringUTFChars(env,name,NULL);(*env)->ReleaseStringUTFChars(env, name, str);

在NDK开发中,如果要用到linux下编译的.so库,需要把.so库拷贝在NDK目录下的out\app<项目名称>\,不然编译会出错。

有一点要补充的是,本文所用到的函数调用方式都是针对C++的,如果要在C中使用,所有的env->都要被替换成(*env)->,而且后面的函数中需要增加一个参数env,具体请看一下jni.h的代码。

你可能感兴趣的:(NDK-jni心得 c和c++对JNIenv的不同处理)