Я пытаюсь преобразовать Jstring в собственную строку Go, но не могу преобразовать это. На самом деле я создал файл JNI в Java, используя файл JNI, я создал файл заголовка в C ++ (файл .h). После этого я использую заголовочный файл в Go для вызова метода JNI. Я могу вызвать Go DLL через код Java, но я получаю пустую строку в Go.
//Go Code:
//''''''''''''''''''''''''''''''
//export Java_CallingMethodjni_
func Java_CallingMethodjni_(env *C.JNIEnv, clazz C.jclass, certtype
C.jstring, filepath C.jstring) C.jstring {
fmt.Println("CallingJava_CallingMethodjni_jni_CallingMethodjni...")
fmt.Print(string(filepath))
// unable to read file path
var js string = string(filepath)
}
//'''''''''''''''''''''''''''''''''''''''''''''''''''''''
//C++ header :
// '''''''''''''''''''''''''''''''''''''''
#include <jni.h>
#ifndef _Included_CallingMethodjni_
#define _Included_CallingMethodjni_
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jstring JNICALL Java_CallingMethodjni_
(JNIEnv *env, jobject obj, jstring javaString, jstring javaString1);
#ifdef __cplusplus
}
#endif
#endif