NDK中,C如何调用带有byte[]参数的java函数
我想在so部分调用java的某个函数,该函数的参数有byte[]等。
部分的C代码如下:
jmethodID java_method = (*env)->GetMethodID(env, java_class, "PlayAudio", "([BI)V");
if(java_method == 0)
{
return (*env)->NewStringUTF(env, "not find PalyAudio!");
}
char szTemp[20] ={0xff};
(*env)->CallObjectMethod(env, java_obj, java_method, szTemp, 20);
java中PlayAudio的原型为:
public void PlayAudio(byte[] data, int datalen)
可是C部分调用是却出现空指针的调用异常。byte[]这个参数在C中该如何填入,传递到java部分?