引入jna.jar包。 然后写一个接口类继承Library来和.so(linux平台)或.dll(windows平台)文件交互。接口中对应的方法为so中的方法,大小写都需要完全一致,同时参数类型也需要注意,jna和so中的参数类型的对应转换。
以下是代码是大概例子,你可以看一下,是有参数的对应格式的。其中,Native.loadLibrary为加载链接库文件。
public interface LibVlc extends Library {Info INFO = Info.getInstance()
LibVlc INSTANCE = (LibVlc)Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class)
LibVlc SYNC_INSTANCE = (LibVlc)Native.synchronizedLibrary(INSTANCE)
String libvlc_errmsg()
void libvlc_clearerr()
libvlc_instance_t libvlc_new(int argc, String[] argv)
}
你说的动态库,就是c/c++写的 so库吧关于so库的使用,建议你到官网下载NDK NDK那里有一堆的调用例子
首先你要将so库文件复制到 libs目录下的armeabi目录下
然后用java建立一个java与c/c++通信的本地方法
在Eclipse中,1、调出包浏览器:下拉菜单window-->Show View-->Package Explorer(如果没看到就到other中找)
2、导包:工程目录(src的父目录)右键单击-->Bulid Path-->最后一项(configure Build Path...)出现对话框中点左边菜单第三项Java Build Path,右边第三个标签页Libraries
3、点击右边按钮选择机子上的包目录,ok即可到如
4、重新发布、重启Tomcat
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)