Ndk学习之JNI获取数组(Java-->C-->Java)

1.在java中定义方法以及获取C中返回值的方法

public native int[] getArray(int len);
2.javah生成头文件
/*
 * Class:     com_boom_JNITest
 * Method:    getArray
 * Signature: (I)[I
 */
JNIEXPORT jintArray JNICALL Java_com_boom_JNITest_getArray
  (JNIEnv *, jobject, jint);
3.源文件中对代码进行具体实现
//返回数组
JNIEXPORT jintArray JNICALL Java_com_boom_JNITest_getArray
(JNIEnv *env, jobject jobj, jint len){
	//创建一个指定大小的数组
	jintArray jint_arr = (*env)->NewIntArray(env,len);
	jint *elems = (*env)->GetIntArrayElements(env,jint_arr,NULL);
	int i = 0;
	for (;iReleaseIntArrayElements(env,jint_arr,elems,0);

	return jint_arr;
}


2.javah生成头文件

你可能感兴趣的:(Android)