導航:首頁 > 編程語言 > 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動態鏈接庫相關的資料

熱點內容
我的世界模組怎麼獲得命令方塊 瀏覽:754
伺服器為什麼穩定 瀏覽:950
資源共享庫源碼 瀏覽:817
vr一體機能用什麼app 瀏覽:166
程序員右背很痛 瀏覽:739
哪個app可以看琉璃原著 瀏覽:47
搗練圖pdf 瀏覽:284
公司內部如何搭建網路伺服器 瀏覽:654
自助火鍋哪個app好 瀏覽:848
pdf使用說明 瀏覽:709
蝙蝠app的伺服器在哪個國家 瀏覽:581
我的世界怎麼做出超平坦伺服器 瀏覽:329
qq內的照片加密 瀏覽:120
抵押車app哪個好 瀏覽:329
如何用單片機控制伺服電機 瀏覽:271
手指計演算法視頻 瀏覽:772
java鍵盤全局監聽 瀏覽:682
華為交換機退出命令 瀏覽:852
神龍雲伺服器相關上市公司 瀏覽:366
加主播解壓什麼意思 瀏覽:890