小编jar*_*ope的帖子

在Go中将C.jstring转换为本机字符串

如何在Go中将C.jstring转换为可用的字符串?

我正在使用GoAndroid.

在C中,您可以执行类似此stackoverflow线程中的操作

JNIEXPORT void JNICALL Java_ClassName_MethodName(JNIEnv *env, jobject obj, jstring javaString)   
{
   const char *nativeString = (*env)->GetStringUTFChars(env, javaString, 0);

  // use your string

  (*env)->ReleaseStringUTFChars(env, javaString, nativeString);
}
Run Code Online (Sandbox Code Playgroud)

在Go它开始看起来像这样

func Java_ClassName_MethodName(env *C.JNIEnv, clazz C.jclass, jstring javaString) {
    defer func() {
        if err := recover(); err != nil {
           log.Fatalf("panic: init: %v\n", err)
       }
   }()
   // ???
}
Run Code Online (Sandbox Code Playgroud)

c java java-native-interface android go

11
推荐指数
1
解决办法
614
查看次数

标签 统计

android ×1

c ×1

go ×1

java ×1

java-native-interface ×1