本文实现在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头文件,如本文中完成上述命令会生成 cn_landsem_jnistudy_TestManager.h 文件,文件内容如下:

本文详细介绍了如何在Android应用程序中通过JNI(Java Native Interface)调用本地C/C++方法。首先新建Android工程,接着创建Java类并定义调用接口,然后生成JNI头文件,编写C++实现代码,生成SO库,将库文件添加到工程指定目录,最后在应用中调用相应方法进行测试。
最低0.47元/天 解锁文章
4793

被折叠的 条评论
为什么被折叠?



