引入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)
}
今天在做腾讯信鸽平台接入时,需要导入其中的第三方lib,其中有一个.so文件,在尝试导入时遇到了麻烦,import后编译.so会被删除,苦恼很久,终于在http://bbs.csdn.net/topics/390397961上找到了解决方案。 1. 在jni目录下添加需要导入的.so文件欢迎分享,转载请注明来源:内存溢出
评论列表(0条)