首先,我们创建一个工程,这里名叫“DemoJNI”,包名按照自己习惯改好,然后各种next最后finish。
为了条理清晰,我在主Activity之外创建了一个JniInterface类,专门作为JAVA和C/C++之间的接口。在这个类中,我们写几个native方法,就是要通过C/C++代码来实现的方法。完整的JniInterface类如下:
package com.startsi.demojni;
public class JniInterface {
public native int intMethod(int x,int y);
public native String stringMethod(String str);
public native byte byteMethod(byte b);
}
保存
注意!native方法不能在JAVA中添加实现,必须在C/C++代码中实现!
下面我们使用javah命令生成JNI头文件
点击Run->External Tools->External Tools Configuration,选中左侧的“Program”,点左上角的新建按钮,建立一条控制台指令。右边的name是你给这个指令起的代号,我们就叫javah;location是你的javah二进制文件的路径,一般就实在JAVA_HOME的bin目录下;working directory是你的java代码生成的.class文件的路径,你只需要设置到classes这一层就可以了,如图。
解释一下Arguments,这里的参数就相当于我们在终端输入的指令的参数。jav