2012-04-18 64 views
0

我有一個.dll文件,我必須在java中使用它。這個.dll文件有一個參數化的方法,它應該返回字符串類型。 當我傳遞參數給它,我得到的消息Native methods do not specify a body如何在java代碼中使用.dll文件?

這裏是代碼...

package com.letme.test; 

public class Eagleye_parser { 

    String n = "E48A7 F7759 65EA7"; 

    public Eagleye_parser() {} 

    static { 
     System.loadLibrary("Eagleye_parser"); 
    } 

    public native String eagleye_fmu(n);// here it is giving msg : Native methods do not specify a body 
} 
+0

請告訴我怎麼可以做到 – ravi 2012-04-18 12:00:53

+1

HTTP:/ /java.sun.com/developer/onlineTraining/Programming/JDCBook/jni.html – Dan 2012-04-18 12:04:38

回答

0

簡單在你的項目添加引用。和頂部的命名空間..那麼你可以訪問所有的DLL方法。 如果您正在使用Eclispe的然後右鍵點擊你的項目 - >然後點擊構建路徑 - >然後在用戶庫,點擊

在這裏,您可以導入DLL

+0

我嘗試了你說的方式。但我無法導入.dll,我得到的錯誤信息是:_「選擇的文件不是有效的用戶庫文件」_ – ravi 2012-04-18 13:38:17

+0

我認爲你做錯了什麼。你在Eclispe中創建了一個包項目嗎? – 2012-04-19 10:22:42

+0

Okey你可以給我的DLL,所以我可以嘗試什麼是完全問題..在添加refrence ..? – 2012-04-20 05:58:20

0

public native String eagleye_fmu(n);裏的「n之後添加庫'這是問題,因爲它會是任何其他java函數聲明的問題。

這應該是這樣的public native String eagleye_fmu(String);然後調用本機的功能像任何其他功能String result = eagleye_fmu(n);

這一切都是假設你已經在DLL中實現正確

+0

我試了你的方式。謝謝您的幫助。 – ravi 2012-04-20 11:49:19

+0

這就是我得到的 http://stackoverflow.com/questions/10245767/unable-to-use-dll-file-in-the-java-code – ravi 2012-04-20 11:56:48