JNI返回含有byte[]属性的对象的问题
本帖最后由 Java_Devil 于 2013-07-04 21:11:38 编辑
JNIEXPORT jobject JNICALL Java_com_test_Emv_getStu(JNIEnv *env, jobject obj) {
jclass clazz = (*env)->FindClass(env, "com/test/Student");
jmethodID constrocMID = (*env)->GetMethodID(env, clazz, "<init>",
"(ILjava/lang/String;)V");
char* response = "\x01\xA1";
int size = strlen(response);
jbyteArray ret = (*env)->NewByteArray(env, size);
(*env)->SetByteArrayRegion(env, ret, 0, size, (jbyte*) response);
jobject param_obj = (*env)->NewObject(env, clazz, constrocMID, 11, ret);
return param_obj;
}
jobject param_obj = (*env)->NewObject(env, clazz, constrocMID, 11, ret);就报错了。、
public class Student {
public int age;
public byte[] code;
public Student() {
}
public Student(int str, byte[] buff) {
this.age = str;
this.code = buff;
}
}