這篇文章帶給大家的內容是關於JNI的簡單使用方法介紹(詳細),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
JNI可以讓我們在java程式碼中呼叫本地庫的功能。
下面記錄JNI簡單的使用方法
1、建立java端介面
public class JNIIterface { // 导入最终生成的dll文件 static { System.loadLibrary("JNIDemo"); } // 声明dll文件中实现的接口 public native int MyMethod(); public native int add(int x, int y); }
2. 產生介面對應的C的頭檔
上面已建立的JNIIterface類,JNIIterface .class檔案的路徑:\JNIDemo\bin\base\JNIIterface .class
在工程目錄下的bin目錄下執行指令:javah -classpath . -jni base.JNIIterface
接著會在\JNIDemo\bin\目錄下產生base_JNIIterface.h檔案
3. 使用visual studio編寫介面的實作
建立C工程,具體步驟如下:
第一步:
第二步:
第三個步驟:
匯入需要的頭檔
將上面第二步驟產生的頭文件,以及jdk根目錄下include目錄下的jni.h和
include的win32目錄下的jni_md.h檔案拷貝到工程目錄下的頭檔目錄下
建立功能實作檔案
在工程目錄下來源檔案上右鍵,並點選新增- 》類別
並撰寫以下程式碼:
#include "base_JNIIterface.h" #include "jni.h" #include <stdio.h> JNIEXPORT jint JNICALL Java_base_JNIIterface_MyMethod (JNIEnv *, jobject){ printf("成功实现JNI测试DEMO"); return 0; } JNIEXPORT jint JNICALL Java_base_JNIIterface_add (JNIEnv *, jobject, jint a, jint b){ return a + b; }
4. 產生dll檔案
在工程目錄中的「解決方案」上右鍵,選擇屬性,然後如下圖所示構成項目
然後編譯工程後,會在工程目錄下的Release目錄下成成dll檔案
5. 將dll檔案配置到java工程
首先向dll檔案放在java工程根目錄下的lib目錄下
然後按照以下步驟將dll檔案作為Native Library加入工程
編輯上圖所示的Native Library Location,然後在彈出的介面選擇Native Library所在的資料夾:
6. 編寫測試類,檢證JNI是否成功應用public class HelloJNI {
public static void main(String[] args) { JNIIterface hw = new JNIIterface(); int t = hw.add(3, 7); int s = hw.MyMethod(); System.out.println(t); System.out.println(s); } }
運行後的測試結果如下:
0 0 成功??JNI??DEMO
上面就是記錄了使用JNI最基本的步驟。
對於如何使用已經寫好的第三方dll檔案的功能,例如係統的dll文件,還需要進行深入探索。
以上是java中JNI的簡單使用方法介紹(詳細)的詳細內容。更多資訊請關注PHP中文網其他相關文章!