JNI开发_流程总结


安卓NDK开发:总结

  1.jni接口:java native interface

  2.作用:用于javahe /c++代码的交互

  3.使用方法:jni静态注册和jni动态注册

   1).Jni静态注册

    a).流程如下:

      1.在java代码中定义nativef修饰的方法

      2.来到指定路径(scr路径)执行javah -jni,根据java中native修饰的方法生成.h头文件

      3.编写c、C++代码,导入头文件,同时实现我门.h头文件中的方法

      4.编写两个mk文件:android.mk文件,aaplication.mk文件(把这四个文件放到jni目录)

      5.来到到指定路径(jni文件夹所在路径)ndk-build生成so文件

   2).Jni动态注册

    a).流程如下:

      1.在java代码中定义nativef修饰的方法

      2.新建C/C++文件,导入jni.h头文件,编写c代码,实现java层被native修 饰的方法

      3.通过JNINativeMethod结构体绑定java和c、c++方法

      4.通过RegisterNatives方法注册java相应的类以及方法

      5.把c/c++注册方法写入到JNI_onload(两个参数);注意:JNI_onload,是系统调用

      6.来到到指定路径(jni文件夹所在路径)ndk-build生成so文件



  4.两种注册方法有确定的对比

    a).静态注册:

      1.编写不方便,jni方法名字必须遵守而且名字长

      2.运行效率不高,不安全

    b).动态注册:

      1.流程清晰可控的;运行效率高


在浏览的同时希望给予作者打赏,来支持作者的服务器维护费用.一分也是爱~