JNI创建java类,并返回

1,定义一个java的静态方法

//我们就在MainActivity中定义一个静态的方法
    public static void  JNIcallJava(){
        Log.i("test class","when you have seen this you are sucess");
    }

2,JNI使用该方法

extern "C"
JNIEXPORT void JNICALL
Java_com_example_administrator_myjnitest_MainActivity_callMethod(JNIEnv *env, jobject instance) {
    LOGI("now begin to call the java static method");
    // 这里是查找该方法在java的那个类中,注意这里的包名路径要写正确,精确到类名
    jclass class_method = env->FindClass("com/example/administrator/myjnitest/MainActivity");
    //我们根据类名来查找具体的方法,注意下面的第三个参数表示无参数无返回值void
    jmethodID  md = env->GetStaticMethodID(class_method,"JNIcallJava","()V");
    //调用这个java的静态方法
    env->CallStaticVoidMethod(class_method,md);
}
posted @   飞航之梦  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示