1,接口
// 數組接收
public native int[] getArray(int len);
2,頭文件
JNIEXPORT jintArray JNICALL Java_com_XXX_XXX_XXX_getArray(JNIEnv *, jobject,jint);
3,C++文件
// 接收數組
extern "C"
JNIEXPORT jintArray JNICALL
Java_com_sXXX_XXX_XXX_getArray(JNIEnv * env, jobject jobj,jint len){
// 創建一個指定大小的數組
jintArray jint_arr = env->NewIntArray(len);
int * elems = env->GetIntArrayElements(jint_arr,NULL);
int i = 0;
for (; i < len; ++i) {
elems[i] = i;
}
// 同步
env->ReleaseIntArrayElements(jint_arr,elems,JNI_COMMIT);
return jint_arr;
}
4,調用
int [] arr = xxx.getArray(10);
for (int i = 0; i < arr.length; i++) {
Log.e("LOG",i+":" +arr[i]);
}