zoukankan      html  css  js  c++  java
  • Android JNI c/c++调用java 无需新建虚拟机

    近期通过研究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);
  • 相关阅读:
    性能测试相关
    centos7 设置定时器 crond
    大杀器Bitset
    树形DP
    双线程DP
    状态压缩DP
    斜率优化DP
    01分数规划
    二分和三分
    uva11549 Floyd判圈法
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/10605524.html
Copyright © 2011-2022 走看看