在java中,提供了javah这个命令来生成本地方法的头文件,下面我们来看看在eclipse中配置javah命令,生成 .h 的c++头文件。
1、自己随便新建一个android项目工程TestNdk
在TestNdk工程中新建一个JniClient.java(为了调用C/C++代码),其内容如下:
package com.ndk.test;
public class JniClient {
static public native String AddStr(String strA, String strB);
static public native int AddInt(int a, int b);
}
2、在eclipse中配置javah命令
首先在eclipse中点击下图图标的下拉菜单
然后点击External Tools Configurations...
标识1:
添加New_configuration
标识2:
把名字改为javah,然后再点击下Program,点击yes即重命名成功
标识3:
Javah可执行程序的位置。我的路径为D:\JDK\jdk1.7_32\Java\jdk1.7.0_13\bin\javah.exe
在你jdk安装的bin目录下可以找到。你可以先查看eclipse当前配置的jdk,window-preferences-java-installed jres,
你可以点击Edit,这里指定的是jdk下面的jre路径,
我们只需jdk路径即可D:\JDK\jdk1.7_32\Java,然后可找到Javah可执行程序的位置
D:\JDK\jdk1.7_32\Java\jdk1.7.0_13\bin\javah.exe
标识4:
当前工作目录
${project_loc}/src
标识5:
Javah的输入参数
-classpath ${project_loc}/bin/classes -d ${project_loc}/jni -jni ${java_type_name}
我的最终配置为:
如下图:选中eclipse项目中的java类,点击方框按钮即可运行javah命令
最后会在项目目录下,生成一个jni文件夹,里面生成了 .h 的c++头文件(需要在当前工程中刷新一下才能看到)。
这样设置好以后,将来大家在需要生成头文件时,只需写好本地方法的java类,然后鼠标点击一下就能够自动生成头文件了,是不是很方便!