中易网

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

答案:1  悬赏:50  
解决时间 2021-01-16 05:39
  • 提问者网友:动次大次蹦擦擦
  • 2021-01-15 10:17
NDK-jni心得 c和c++对JNIenv的不同处理
最佳答案
  • 二级知识专家网友:底特律间谍
  • 2021-01-15 10:26
在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的代码。

  zuolingfeng(作者)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息