I'm trying to return a jintArray from C++ to Java but no matter what I do the call keeps hanging and the code just stops. Even with something simple like this
JNIEXPORT jintArray JNICALL Java_main_getIntArray(JNIEnv *env, jclass c) {
jintArray intArray = env->NewIntArray(5);
jint values[5] = {69, 69, 69, 69, 69};
env->SetIntArrayRegion(intArray, 0, 5, values);
env->ReleaseIntArrayElements(intArray, values, NULL);
return intArray;
}
In java I'm doing
System.out.println("Start getting array");
System.out.println("Array: " + Arrays.toString(getIntArray()));
System.out.println("Done getting array");
but the only output I get is
Start getting array
Is there something I'm doing wrong?
I tried creating a pointer from values[] and using that one in the SetIntArrayRegion
I tried populating the array myself by looping over it
I tried removing the ReleaseIntArrayElements