导航:首页 > 编程语言 > java动态链接库

java动态链接库

发布时间:2023-03-11 16:53:29

A. java 调用动态链接库(jni方式调用dll文件)

jni 是由Java调用C/C++的动态链接库 (DLL)。
所以把.class-->.h-->dll ,想法是不正确的,
同时也违背了Jni的初衷。
Dll是由C/C++生成的。

以前的一个项目用到了Java调用C/C++的DLL,所以对这个还算熟悉。
那个dLL是由C++程序员写的,在Microsoft Visual C++ 6.0编辑器中可以生成。然后由Java程序员用JNI来调用DLL里面实现的功能(方法)。

B. 如何为Android,Mac和Windows平台创建Java JNI动态链接库

Android1、下载NDK,并在Eclipse中配置路径:
2、创建一个Android工程hellojni。右键工程,选择Add Native Support自动生成C/C++工程:
3、修改C/C++代码,配置一下Android.mk:
4、点击保存就会自动生成动态链接库libhellojni.so。也可以通过命令ndk-build手动生成。

Windows

1、打开Visual Studio,创建一个Win32工程hellojni:
2、在应用类型中选择DLL:
3、配置头文件和库的路径:
4、点击build就可以生成hellojni.dll。

Mac OS X

1、打开Xcode,创建一个工程hellojni :
2、framework选择STL:
3、在build设置里,配置JavaVM 头文件路径和库路径:
4、点击build就可以生成libhellojni.dylib。

Java工程中如何使用JNI:

1、申明native接口:
public native String stringFromJNI();
public native static void nativePrint();

2、加载动态链接库:
static {
System.loadLibrary("hellojni");
}

C. eclipse中的java工程项目如何引用外部jar包和dll动态链接库

1、引用jar包
绝对路径引用:右键工程-->properties-->Java Build Path-->Libraries-->Add external JARs... ,在弹出的对话框中选择要引入的jar包,OK即可。
相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的jar包放入其中,然后右键工程-->properties-->Java Build Path-->Libraries-->Add JARs... ,在弹出的对话框中选择libs文件夹下的jar包即可。
2、引用dll动态链接库
绝对路径引用:右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->external Folder...,选择要引入的dll文件所在文件夹即可。

相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的dll文件包放入其中,右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->Workspace..,选择libs文件夹即可。

D. java动态链接库连接失败 jvm.dll加载失败

项目中用到 Jpcap 库,这个库引用到一个 C 的链接库文件

链接库文件放到 /usr/lib 下面

以前在别的Linux系统下都运行的好好的

今天部署到一个 Centos 机器上就报错:java.lang.NoClassDefFoundError: Could not initialize class jpcap.JpcapCaptor 和 java.lang.unsatisfiedlinkerror

看了下 JpcapCaptor 类的源码发现里面有加载动态链接库的代码

肯定就是没找到 动态链接库文件了。

1.重新编译库文件 2.把库文件放到项目根目录,等等几番折腾

最后都要绝望的时候了,突然想起 /etc/ld.so.conf

vi 一看还真没有库目录

加上两行
/usr/lib
/usr/local/lib

保存 执行 ldconfig命令 生效

问题就这样解决了。

阅读全文

与java动态链接库相关的资料

热点内容
linuxgo开发环境 浏览:922
海康摄像萤石云服务器 浏览:814
安卓手机怎么改安卓版名 浏览:147
雅思听力807词汇pdf 浏览:897
黄豆私人加密 浏览:192
java分钟转换小时 浏览:245
易语言服务器如何提高 浏览:591
网站主机服务器地址查看 浏览:859
算法学不会能当程序员吗 浏览:119
程序员技术交流研究 浏览:814
javaresponse文件 浏览:734
linuxrar压缩文件夹 浏览:218
魅蓝手机连接不上服务器怎么回事 浏览:379
工行app怎么改已绑定银行卡 浏览:533
oppo芯片程序员 浏览:602
oppok3应用怎么加密 浏览:327
电脑软盘怎么加密码 浏览:815
服务器光交换机有什么用 浏览:708
app上怎么拍蛙小侠 浏览:217
志高聊天app怎么下载 浏览:635