首发地址:http://www.eoeandroid.com/thread-201993-1-1.html
一、 工程创建
1. 创建一个Android工程
配置好开发环境并加载好对应版本sdk后,选择菜单File->New-> Project创建工程,工程类型选择Android Project,如下图所示:
点击next,在工程属性选项里面填入你所希望的工程名、使用的Android SDK版本、应用程序名称、包名、Activity类名等信息,然后点击Finish按钮完成创建。
1. 添加NDK需要的文件夹与文件
在工程文件夹下创建新的文件夹jni,并在jni文件夹下作为C源文件的文件,完成后工程目录示例如下:
如下图所示:
二、 NDK部分
1. 编写C语言程序
NDK开发所使用的C或者CPP文件一般放置于jnc目录下,文件需要包含jni.h头文件以提供JNI相关支持,所编写的程序必须符合JNI调用接口规范。详见《JNI使用规范》。
2. mk文件添加
在jni目录下添加Android.mk文件,文件类容如下:
其中,LOCAL_PATH语句指定了编译路径;LOCAL_MODULE指定了编译生成的共享库的名称,LOCAL_SRC_FILES语句制定了编译文件名。
3.生成so共享库
打开Cygwin程序,进入工程JNI文件夹,然后执行NDK文件夹下的ndk-build文件,生成共享库。
编译成功完成后,可以在工程libs/armeabi文件夹下看到生成的共享库,目录示例如下:
至此,共享库部分完成。
三、 JAVA部分
1. 添加类的本地接口
在类的实现中添加函数接口,接口声明native表明其实现使用的是共享库方式,并加载对应的共享库。
2. mk文件添加
在jni目录下添加Android.mk文件,文件类容如下:
2. 调用本地接口
调用本地接口的方式与调用其他接口方式并无区别,示例得到的结果如下:
源码:NDKDemo.rar