美文网首页Android-NDK/JNI
Android NDK开发:C调用Java层方法

Android NDK开发:C调用Java层方法

作者: itfitness | 来源:发表于2021-02-10 20:42 被阅读0次

    目录

    相关文章

    Android NDK开发:java调用dll动态链接库方法
    Android NDK开发:JNIEnv的原理
    Android NDK开发:C修改Java的属性

    C调用Java层方法

    #include "../com_itfitness_NdkDemo.h"
    
    JNIEXPORT jint JNICALL Java_com_itfitness_NdkDemo_callJava
    (JNIEnv* env, jobject jobj) {
    
        //获取Java层的类的字节码对象
        jclass clazz = (*env)->GetObjectClass(env,jobj);
    
        //获取Java层方法的id
        char* method_name = "add";
        char* method_sig = "(II)I";
        jmethodID method_id = (*env)->GetMethodID(env,clazz,method_name,method_sig);
    
        //调用Java层的返回值为int类型的方法
        jint result = (*env)->CallIntMethod(env,jobj, method_id,10,20);
        //打印结果
        printf("调用Java层方法的执行结果为%d",result);
    }
    

    执行结果

    相关文章

      网友评论

        本文标题:Android NDK开发:C调用Java层方法

        本文链接:https://www.haomeiwen.com/subject/ntwkxltx.html