我需要从 Java 代码访问 Mac OSX 上的 Wifi 设备列表,经过研究,我发现我需要求助于“本机”代码 - 即 CoreWLAN 框架和 CWInterface.h 类(https:// developer.apple.com/library/mac/#documentation/CoreWLAN/Reference/CWInterface_reference/translated_content/CWInterface.html)
我最初以为我可以使用 JNA 调用此代码,但意识到我需要一些东西,因为 CoreWLAN 是 Objective-C(不是 C/C++)。
我已经尝试过这个 Objective-C Java 桥(https://github.com/shannah/Java-Objective-C-Bridge),但我不知道如何让它找到 CoreWLAN 框架。
所以我也尝试过使用 JNAerator ( https://code.google.com/p/jnaerator/wiki/ObjectiveC ) 所以我可以使用 BridJ ( https://code.google.com/p/bridj/ ),但我不能让它生成正确的 Java 代码。
- 仅使用此样式
java -Xmx1000m -jar jnaerator.jar -framework CoreWLAN -jar CoreWlan.jar
即可快速运行,但生成的 jar 仅包含 CoreWlan.h 的映射 - 如果我对 CWInterface.h 运行 jnaerator,那么 jnaerator 会失败。(我正在使用 jnaerator 的最新快照版本)
从 Java 调用 CWInterface.h 上的方法的最佳方法是什么?