JNA即Java Native Access。
官方文档
使用样例
准备Java代码文件,内容泉源于Getting Started,如下:- import com.sun.jna.Library;
- import com.sun.jna.Native;
- import com.sun.jna.Platform;
- /** Simple example of JNA interface mapping and usage. */
- public class HelloWorld {
- // This is the standard, stable way of mapping, which supports extensive
- // customization and mapping of Java to native types.
- public interface CLibrary extends Library {
- CLibrary INSTANCE = (CLibrary)
- Native.load((Platform.isWindows() ? "msvcrt" : "c"),
- CLibrary.class);
- void printf(String format, Object... args);
- }
- public static void main(String[] args) {
- CLibrary.INSTANCE.printf("Hello, World\n");
- for (int i=0;i < args.length;i++) {
- CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]);
- }
- }
- }
复制代码 修改项目的pom.xml,增加如下依赖:- <dependency>
- <groupId>net.java.dev.jna</groupId>
- <artifactId>jna</artifactId>
- <version>5.14.0</version>
- </dependency>
复制代码 等待依赖下载完毕,构建完毕,运行前述样例代码。
从源码构建JNA
- Setting up a Windows Development Environment
在Windows环境实行构建,实行如下命令:- cd C:\Code\jna
- set JAVA_HOME=C:\Tools\jdk
- set ANT_HOME=C:\Tools\ant
- set CYGWIN_HOME=C:\Tools\cygwin64
- set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%CYGWIN_HOME%\bin;%PATH%
- "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
- ant
复制代码 在Linux环境实行构建,实行如下命令:- cd /path/to/jna_code
- export JAVA_HOME=/path/to/jdk
- export ANT_HOME=/path/to/ant
- export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
- ant
复制代码 - Android Development Environment
在Linux环境实行构建,实行如下命令:- cd /path/to/jna_code
- export JAVA_HOME=/path/to/jdk
- export ANT_HOME=/path/to/ant
- export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
- export NDK_PLATFORM=/path/to/android-ndk-r12b/platforms/android-21
- export PATH=$NDK_PLATFORM/../../toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/:$PATH
- ant -Dos.prefix=android-aarch64
复制代码 参考资料
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |