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 header 不正确。现在它返回 jint 而不是 jintArray。尝试重新生成 header 并重建库。
关于java - Jni jintArray 参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645639/