`

Java 加载动态链接库

阅读更多
Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
 
 可以将native方法比作Java程序同C程序的接口,其实现步骤:

  1、在Java中声明native()方法,然后编译;

  2、用javah产生一个.h文件;

  3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);

  4、将第三步的.cpp文件编译成动态链接库文件;

  5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。


例子:
public class VadChecker {

static {
System.loadLibrary("vadLib");
}

//other code here

// 动态链接库用到的函数需要declar
public static native int  native_initialize();
public static native void native_uninitialize(int handle);
public static native void native_reset(int handle);
public static native int  native_appendData(int handle, byte[] pData, int len, VadData vad);
public static native int  native_setParam(int handle, int paramID, int paramValue);

}

在这个项目的Libs 目录下有一个文件.so 文件 -》 libs/armeabi/libvadLib.so

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics