Tôi có chính xác cùng một vấn đề với tải một DLL, tôi giải quyết nó theo cách này:
- Như Christian Kuetbach cho biết, hãy kiểm tra xem simpleDLL bạn đang sử dụng có tương thích với kiến trúc bộ vi xử lý của bạn hay không, một DLL 32 bit sẽ không hoạt động trên máy 64 bit và cũng là một DLL 64 bit sẽ không hoạt động trên 32 bit máy móc.
Nếu DLL tương thích, thì sự cố có thể nằm trong đường dẫn thư viện java của bạn. Tôi đặt DLL của tôi vào thư mục user.dir
và sau đó tôi đã sử dụng mã này:
Set Java đường dẫn thư viện để user.dir
hoặc có thể con đường khác mà bạn muốn:
String myLibraryPath = System.getProperty("user.dir");//or another absolute or relative path
System.setProperty("java.library.path", myLibraryPath);
tải thư viện:
System.loadLibrary ("libraryWithoutDLLExtension");
Nó làm việc cho tôi, hãy thử và cho tôi biết nếu nó phù hợp với bạn.
Vui lòng kiểm tra nếu simpleDLL là 32 hoặc 64 bit. Sau đó kiểm tra, nếu JVM cũng là 32 hoặc 64 bit. Họ phải cho cùng một nền tảng. –
Cố gắng với một dll và JNI. có vẻ nó hoạt động – Karloss