1
我有我的Java代码,其中Array是一个自定义对象。从jobject数组获取Jclass或jobject JNI
public native int pax_store_get_data_avail_info(DataAvailable[] stats_array);
我JNI生成的文件
JNIEXPORT jint JNICALL Java_demo_JNIWrapper_pax_1store_1get_1data_1avail_1info
(JNIEnv *env, jclass jclass1, jobjectArray jobj){
}
我想填充jobjectArray的JNI里面,当我试图用我的FPGA实现我的程序崩溃。
JNIEXPORT jint JNICALL Java_demo_JNIWrapper_pax_1store_1get_1data_1avail_1info
(JNIEnv *env, jclass jclass1, jobjectArray jobj){
struct pax_store_data_avail_stat_s test_stat [2] ;
int i;
test_stat [0].time = 1460332625; // 4/10/2016, 4:57:05 PM
test_stat [0].bytes_in_this_second = 20;
test_stat [1].time = 1460332626; // 4/10/2016, 4:57:06 PM
test_stat [1].bytes_in_this_second = 30;
jclass dataClass=(*env)->GetObjectClass(env,"demo/DataAvailable");//Crash Over here
我是不是能够得到对象类。所以讲授如果我从Jobject阵列的JCLASS或jobject。
是否有任何其他方法可以在JNI代码中填充Jobject数组。
你有没有考虑*咨询文件*您在使用'GetObjectClass()'在没有记载,所以当然的一种方式?它不起作用,但是如果使用正确,那么该方法就是您的问题的答案。 – EJP