jni的c代码GetFieldID失败
飞天舞 2020-07-25 10:21:41 java类如下:
public class canFrame {
public int can_id;
public char can_dlc;
public byte[] bcan_id;
public byte[] recdata;
}
在C代码中调用
jfieldID id = (*env)->GetFieldID(env,objectClass,"can_id","I");//成功
jfieldID leng = (*env)->GetFieldID(env,objectClass,"can_dlc","C");//成功
jfieldID b_id = (*env)->GetFieldID(env,objectClass,"bcan_id","[B");//失败
jfieldID rdata = (*env)->GetFieldID(env,objectClass,"recdata","[B");//成功
错误提示:
java.lang.NoSuchFieldError: no field with name='bcan_id' signature='[B' in class Lforlinx/hardware/canFrame;
打开canFrame.class文件查看有看到bcan_id后有[B关键字,但recdata后没有