我在将字符串从 jni 设置为 java 类时遇到问题,我编写了 jni(在 c 中),我想将字符串从 jni 设置为 java 我确实喜欢这样
jclass cls;
jmethodID mid;
/* cls = (*env)->GetObjectClass(env, obj); */
cls = (*env)->FindClass (env,"com/example/lsextractor/LSCore");
jobject objRet = (*env)->AllocObject(env,cls);
jstring estr = (jstring)(*env)->NewStringUTF(env,(char*)"Hello");
mid = (*env)->GetMethodID(env, cls, "setTemplate","(Ljava/lang/String;)V");
(*env)->CallObjectMethod(env,objRet,mid,estr);
return (jint)1;
但是这个方法不起作用我无法从我的类中获取字符串但我可以从我的 java 类中访问所有其他方法我无法将字符串从 jni 设置为 java 确实有这样做的想法,这是我的类
public byte[] getimage()
{
return this.Image;
}
public void setimage(byte[] rawImg)
{
this.Image=rawImg;
}
public String getTemplate()
{
return this.Template;
}
public void setTemplate(String Tmp)
{
this.Template = Tmp;
}
static
{
System.loadLibrary("test");
}