这是之前工作写的文章,放在这里希望能帮助需要的人。也算支持 D 哥一下。。后续会把更多的文章放在这里 PS:都是自己写的原创文章
常用的就是 jni,jnative(基于 jni 封装了自己的 jar 包)
注意:java 调用 dll,必须 dll 里做了对应的处理。列如:方法名必须为_java_包名_类名_方法名
使用 JNI 调用 dll 步骤
- 新建一个 java 项目,将 dll 文件放入 src 下
- 配置改项目环境 jre 下 native 目录,指向 src
- 项目 jdk 一定不要用 eclipse 自带的,用自己安装的 jdk 路径
- 按照 dll 里的目录顺序新建目录及类
- 声明跟 dll 里一样的方法,方法前加 native 关键字(注意参数类型)
- 代码静态块里写(不要后缀):
static { System.loadLibrary("testDll"); }
- 之后写 main 方法就可以调用了。如有报错,注意观察报错信息,可能会缺少依赖 dll 文件
简单封装 JNI
- 简单封装一个调用 dll 的类
- 代码可以在资源共享,我的代码中下载
- 调用代码(主要是 static 块代码变了),DllUtil 这块代码在共享里下载
static { try { DllUtil.extractFromJar("testDll.dll", "testDll.dll", System .getProperty("java.io.tmpdir")); System.load(System.getProperty("java.io.tmpdir") + "\\testDll.dll"); System.out.println("load testDll.dll success!!"); } catch (Exception e) { System.out.println("testDll.dll error:" + e.getMessage()); } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于