android ndk 的另一种注册方式
来源:互联网 发布:sql with as 递归 编辑:程序博客网 时间:2024/05/16 09:17
不使用Java_com_xxx方式调用ndk的方式,这种方法的优点是灵活,可配置,不必限制在Java_com_xxx命名依赖中。
步骤如下:
第1步,在JNI初始化方法中调用自定义注册方法,并判断成功与否通知Java端。
jint JNI_OnLoad(JavaVM* vm, void* reserved) { JNIEnv* env = NULL; sVm = vm; if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) == JNI_OK) return JNI_ERR; if (注册方法(env) == JNI_OK) return JNI_VERSION_1_4; return JNI_ERR;}
第2步,在cpp或c文件(位置任意)中声明JNINativeMethod 方法数组
static JNINativeMethod methods[] = { "nativeInit", "()V", (void*) xxx_init, //这样就可以映射到java的nativeInit方法了 "", "", (void *) xxx};
其中 JNINativeMethod 的定义在 jni.h 中,结构如下:
typedef struct { const char * name; const char * signature; void * fnptr;}JNINativeMethod;
第3步,最后通过方法注入到java的jni接口中
jint custom_register_all_jni_methods(JNIEnv *env) { return jniRegisterNativeMethods(env, "com/xxx/xxx", methods, sizeof(methods) / sizeof(methods[0]));}
com/xxx/xxx为所对应的java接口类名
0 0
- android ndk 的另一种注册方式
- Android ListView优化的另一种实现方式
- android-获取图片资源的另一种方式
- Android 中查看logcat的另一种方式
- 浅谈Android平台短信拦截的几种实现方式(包括NDK注册短信监听器)
- 另一种爱的方式
- 打电话的另一种方式
- Android 内置含有so文件的APK的另一种方式
- android 数据库的增删改查的另一种方式
- Android 中图片显示的另一种方式 ImageSwitcher
- Android手机分区信息的另一种查看那方式
- Android App底部导航栏的另一种实现方式
- Android广播的注册方式
- 调用方法的另一种方式
- 调用方法的另一种方式
- Decorator的另一种实现方式
- Delegate的另一种创建方式
- cooklie的另一种设置方式
- vmware虚拟路由器 默认网关无效
- 绑定(1)ZigBee四种绑定方式在TI Z-Stack中的应用
- 南阳D&G验厂审核四川Bandai验厂数据
- Android下调用OpenCV的方法
- 哈希算法
- android ndk 的另一种注册方式
- epoll使用详解(精髓)
- ExtJs ItemSelector
- android permission
- COM连接点 - Part I - 基本原理
- DESTDIR: GNU Make中的默认约定
- ImageMagick简介、GraphicsMagick、命令行使用示例
- 安全可靠的汽车电子电路保护方案
- css