天天看点

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

下载NDK工具

从官网下载最新的ndk工具--http://developer.android.com/intl/zh-cn/tools/sdk/ndk/index.html,或者找下别人下载的。双击提取内容。

配置path,环境变量

这里需要把提取的内容,配置到path环境变量里面。主要是有ndk-build,不然,每次都需要切换到这个目录来执行命令。

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

配置Eclipse

配置Eclipse,window-preferences-android-NDK,把ndk-build路径配置到这里。

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

简单演示:

1、新建项目--在MainActivity里创建一个native的本地方法。例如,public native int add(int a,int b);

2、项目--右键--android tool---add native support --so文件的名字---finish

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

3、等finish完成就到了c/c++的模式下,jni文件夹自动生成了。因为是用c做演示,所以.cpp后缀要改成.c的后缀。同样,android.mk里面的指向也得改成.c

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

4、然后,在.c文件里去添加库和实现java的本地方法。添加库 #include <stdio.h> #include <stdlib.h> ,本地方法:Java_完整的包名_类名_方法名

5、数据类型的对照在jni.h的文件里有。(Tips:自己写方法名有时候容易出错,这里可以使用  javah -jni  完整的类名,jdk1.6在项目bin下,jdk1.7在项目src下)

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

6、把.h文件拖到jni目录下,把.h里面的方法声明copy到.c里就可以了(不容易出错)。这时候就不是#include<jni.h> 而是 #include ".h问价的完整名"。(这时候会有报错)

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

7、接着来配置,项目右键---Properties--C/C++ General--paths and Symbols--add(选择ndk下面的platforms--任意一个版本的arm-include-usr)

8、配置完成以后,项目就没有错误了。这么做的好处是,当引用jni里的方法是,会有提示(自己写的时候没有哦~)。

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

或者(**env). 都可以。自己写的时候是没有的。写好方法了,点击上面工具栏的锤子图标编译,或者等运行的时候,自动编译也可以。

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

9、最后,这种的好处还有,每次运行的时候,都会重新编译so文件。不用手动时候每次修改,都需要 ndk-build clean,ndk-build 来重新生成了。

10、jni目录下还有一个文件是Application.mk 说明哪种类型的,默认是arm。内容

APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a x86_64 mips64      

可以是一个或者多个,如果添加所有的可以用all。

查看NDK提供的示例

在file--new project---android---android project from existion code --选择ndk(sample里面任意一个就可以。然后,命令行切换到该项目目录下ndk-build,运行就可以了)。

android 使用Eclipse开发NDK的配置和简单使用下载NDK工具配置path,环境变量配置Eclipse简单演示:查看NDK提供的示例

很久没有使用了,自己留个印象。。。