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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值