我有得到一個雙指針雙指針的Android JNI
int getList(unsigned char **list); //it returns a list of something
我想知道如何從本機代碼(JNI)雙指針傳遞給我的函數等。任何人?
這是我試過的,但它不起作用。
jint Java_test_test_Activity_getList(JNIEnv *env, jobject this, jobjectArray list, jint size){
jint count=0;
jbyteArray bArray;
jByteArray cList;
count=(*env)->GetArrayLength(env, list);
for(int i=0; i<count; i++){
bArray[i]=(*env)->GetObjectArrayElement(env, list, i);
(*env)->GetByteArrayRegion(env, bArray[i], 0, size, cList[i]);
}
return getList(cList);
}
不太可能,除非Android本機接口與Java的很不相同......要在JVM中獲取指向內存的指針,您需要首先鎖定/鎖定內存。 –