I'm debuggin this issue where,
JNI Code (C):
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO , TAG, __VA_ARGS__)
jint test_arr[5] = {1, 2, 3, 4, 5}; /* Global Variable */
int len = sizeof(test_arr);
jintArray result_test = (*env)->NewIntArray(env, len);
(*env)->SetIntArrayRegion(env, result_test, 0, len, test_arr);
/* Print the Value of the Array */
jint *ptr = (*env)->GetIntArrayElements(env, result_test, NULL);
for (i = 0; i < 5; i++)
LOGI("[%d]", *(ptr + i));
(*env)->ReleaseIntArrayElements(env, result_test, ptr, NULL);
Output:
I/[JNI] ( 1835): [0]
I/[JNI] ( 1835): [1092010456]
I/[JNI] ( 1835): [1092201680]
I/[JNI] ( 1835): [1526497088]
I/[JNI] ( 1835): [0]
I do not have much experience in JNI, good with C.
How can i use GetIntArrayElements to correctly print the values of the Array ?
0 comments:
Post a Comment