Java的

public int [] native getArray(int [] a);



C:

JNIEXPORT jintArray JNICALL

 net_tq5_ArrayTest_getArray(JNIEnv *env, jobject obj, jintArray arr) {
return arr;
}




Java的

int[] a = new int[]{1,2,3,4,5};
int[] b = getArray(a);
for(int i=0; i<a.lenght; i++){
   Log.i("ArrayTest: ", "" + b[i]);
}




结果将是:

 ArrayTest: 0
 ArrayTest: 0
 ArrayTest: 0
 ...




为什么呢
救命!

最佳答案

您的c标头函数不正确。现在,它返回jint而不是jintArray。尝试重新生成标头并重建库。

08-27 10:04