Android NDK 2.字符串交互

时间:2023-01-04 17:07:26

1.字符串转换  Java---->c++

public static native void setStr(String path);

2.编译

cmd到项目src/main目录下运行:

javah -d jni -classpath ..\..\build\intermediates\classes\debug com.zehin.videolibrary.NdkString

3.修改build.gradle

添加代码

ndk {
ldLibs "log"
}

android{

defaultConfig{

// 在这添加代码

}

}


4.实现打印

.h 中添加

#include <android/log.h>
.c中添加

#define  LOG_TAG    "HelloJni"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)

JNIEXPORT void JNICALL Java_com_zehin_videolibrary_NdkString_setStr
(JNIEnv * env, jclass jclass, jstring str){

const char * getStr = (*env)->GetStringUTFChars(env,str,NULL);
if(getStr != NULL){
LOGI("------->getStr:%s",getStr);
}
};

5.完成