标签:idc env jar 新建 method span src static job
近期通过研究SDL源码 得出android JNI c/c++调用java 无需新建虚拟机: 具体步骤如下
第一步获得:两个参数 JNIEnv和jclass
void Java_com_Test_Audio_Init( JNIEnv* env,jclass cls, jobject thiz ) { InitJNI(env,cls); } bool InitJNI(JNIEnv* env,jclass cls) { m_Env=env; m_cls=cls; }
第二步
获得java那边定义的函数的名字
第三步 传递参数调用java 函数
char *str="god_is_a_girl.mp3"; char str[]="nihao"; jbyte *by = (jbyte*)str; jbyteArray jarray = m_Env->NewByteArray(strlen(str)); m_Env->SetByteArrayRegion(jarray, 0, strlen(str), by); ///调用java函数 m_Env->CallStaticBooleanMethod(m_cls, midCreateGLContext,jarray);
Android JNI c/c++调用java 无需新建虚拟机
标签:idc env jar 新建 method span src static job
原文地址:https://www.cnblogs.com/zhujiabin/p/10605524.html