我刚刚通过JNI成功返回了字节数组的数组.初始大小与字节数组无关,因为在填充jobject数组时将其替换为新的大小:
static jbyteArray NewJavaStringBytes(JNIEnv* env, const char *src) {
jbyteArray retVal = (*env)->NewByteArray(env, strlen(src));
jbyte *buf = (*env)->GetByteArrayElements(env, retVal, NULL);
strcpy(buf, src);
printf(" NewJavaStringBytes: Created java byte array: %s.\n", buf);
(*env)->ReleaseByteArrayElements(env, retVal, buf, 0);
return retVal;
}
JNIEXPORT jobjectArray JNICALL Java_TestJniString_printStringArray
(JNIEnv *env, jobject thisObj, jobjectArray jObjArr) {
int numStr = (*env)->GetArrayLength(env, jObjArr);
int idx = 0;
jobjectArray strArr = NULL;
jbyte *curStr = NULL;
jclass arrayElemType = (*env)->FindClass(env, "[B");
const char *retStrs[] = {"one"