如何将int数组从Java返回到JNI

Mar*_*Bak 9 c java java-native-interface android

我必须从JNI调用Java方法.这个Java方法返回int数组(int [] simpleMethod()).如何从JNI调用此方法将数组作为返回值?当方法返回void/String/int/etc但是找不到任何数组时,我知道如何做到这一点.我有一些想法如何解决这个问题,但也许有简单的答案.

Edw*_*son 19

使用CallObjectMethod.例如:

jmethodID myMethod = (*env)->GetMethodID(myClass, "myMethod", "()[I");
jintArray retval = (jintArray) (*env)->CallObjectMethod(myObject, myMethod);
Run Code Online (Sandbox Code Playgroud)