JNI c代码回调java空方法
来源:互联网 发布:淘宝店铺销售排行 编辑:程序博客网 时间:2024/05/05 12:44
首先在class JNI中定义
public class JNI { static { System.loadLibrary("hello");//需要加载的so文件的名称 } //传递两个int类型的变量给C public native void callbackvoidmethod(); public void helloFromJava(){ System.out.println("hello from Java"); }
}然后在c代码中写
JNIEXPORT void JNICALL Java_com_example_feisou_a02_1helloworld_JNI_callbackvoidmethod (JNIEnv *env, jobject thiz){ jclass claz = (*env)->FindClass(env, "com/example/feisou/a02_helloworld/JNI"); jmethodID methodID = (*env)->GetMethodID(env, claz, "helloFromJava", "()V"); (*env)->CallVoidMethod(env, thiz, methodID);}
1、获取字节码对象 jclass (*FindClass)(JNIEnv*, const char*);
2、获取Method对象 jmethodID (*GetMethodID)(JNIEnv*, jclass, const char*, const char*);
3、通过字节码对象创建一个Object(即是claz)
4、通过对象调用方法
Android Studio的文件在工程目录app\build\intermediates\classes中,使用javap -s com.example.feisou.a02_helloworld.JNI可以生成签名
0 0
- JNI c代码回调java空方法
- jni c本地代码回调java (多线程中,创建java对象时报空指针)未解决
- JNI基础(七)C调java静态方法代码
- 在JNI代码中异步回调Java层方法
- JNI:Java调用C/C++-传递空值(null)的处理方法
- JNI:Java调用C/C++-传递空值(null)的处理方法
- (JNI)c代码利用反射调用java方法
- (JNI)c代码利用反射调用java方法
- jni - c 调用java方法
- Android 中 c 代码回调Java代码的详细步骤(jni、NDK的使用)
- C代码回调java方法
- JNI详解以及使用Java调c代码
- JNI基础(六)C调java代码
- jni回调静态java方法,java代码不执行的问题
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- 使用JNI,让java调用c代码
- MSSQL 事务的使用
- PHP脚本无法传递POST变量的解决方式
- 数据库复习
- 垃圾回收机制
- CentOS7.0开机报错end_request IO error dev fd0 sector 0
- JNI c代码回调java空方法
- hdu 2200 Eddy's AC难题(组合)
- PAT-1037. 在霍格沃茨找零钱(20)
- 工作经验总结
- Mac下SourceTree “这是一个无效的源路径”
- SPOJ TRNGL - Make Triangle
- VBA尺寸选择 Resize
- linux驱动面试题整理
- Android沉浸式状态栏的简单实现