一、概述

        ndk,native develope kit,是安卓提供的一套jvm调用本地C++接口的一套机制,支持在windows以及linux下面进行开发编译。

二、NDK提供了什么

  1. ndk给C++提供了一系列C++调用jvm的接口(jni)

  2. 交叉编译工具链

  3. 输出供安卓jvm使用的.so或者.a文件

三、NDK的项目结构

  1. Andriod.mk:描述需要纳入编译的文件,以及一系列编译参数

  2. Application.mk:描述编译参数

  3. 各种依赖库以及源文件

四、 NDK项目编译

        切换到ndk项目目录,执行ndk-build即可

五、 NDK业务接口开发流程

        1. 在源安卓文件里,定义一个类,并且声明一个接口,接口以native修饰

        比如:
        

class hello{
    public native void test();
}

        2. 在该目录下,以命令行形式执行javah -classpath . xxx,即可生成对应的C++头文件

        比如:

        javah -classpath . hello

        效果如下:

 

        3. 对该头文件接口进行拓展实现即可(须符合jni的规范进行)
ndk:jni_the7daydead的专栏-CSDN博客一、概述jni即java native interface,是提供给C++用来开发供Java本地调用的一系列支持接口。以下会从这几个方面来介绍:类型对应&使用成员方法(静态/非静态)调用&&成员变量赋值异常局部引用&全局引用线程二、类型对应&使用基本类型:引用类型:注:基本类型的数据,可以直接使用,但是引用类型不能,必须使用jni的api来存取字符..https://blog.csdn.net/the7daydead/article/details/123275254

六、 NDK接口的调试

        https://blog.csdn.net/the7daydead/article/details/123275388https://blog.csdn.net/the7daydead/article/details/123275388

Logo

更多推荐