本文实现在android app中使用调用jni库调用本地C/C++方法。
1.新建android工程
2.新建java上层方法
本例子在工程中新建 cn.landsem.jnistudy 包,在其中新建TestManager类用于调用本地C/C++方法,该类的代码如下:
package cn.landsem.jnistudy;
import android.util.Log;
public class TestManager {
public static String TAG = "TestManager";
static {
try {
System.loadLibrary("lstest");
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG,e.getMessage());
}
Log.d(TAG, "native_init");
nativeInit();
}
public int add(int i,int j) {
Log.d(TAG,"add");
return nativeAdd(i,j);
}
private static native void nativeInit();
private static native int nativeAdd(int i,int j);
}
3.创建jni头文件
打开dos命令窗口,切换到工程目录下的“bin\classes”目录,输入javah -jni cn.landsem.jnistudy.TestManager命令,命令执行成功后会在该目录下生成对应的jni头文件