Java Native Interface (JNI) 是Java和C/C++之间的桥梁。在一些情况下,为了提高Java程序的性能,扩展Java程序的功能,我们需要使用JNI。比如数据库的调用,当我们下载一个JDBC的jar包之后,解压可以看到里面包含了不同平台的动态链接库:
这篇文章介绍如何为Android,Mac和Windows平台,创建一个最简单的JNI动态链接库。
参考文章:
Getting Started with JNI on Android, Windows and Mac
Android
下载NDK,并在Eclipse中配置路径:
创建一个Android工程hellojni。右键工程,选择Add Native Support自动生成C/C++工程:
修改C/C++代码,配置一下Android.mk:
点击保存就会自动生成动态链接库libhellojni.so。你也可以通过命令ndk-build手动生成:
Windows
打开Visual Studio,创建一个Win32工程hellojni:
在应用类型中选择DLL:
配置头文件和库的路径:
点击build就可以生成hellojni.dll:
Mac OS X
打开Xcode,创建一个工程hellojni :
framework选择STL:
在build设置里,配置JavaVM 头文件路径和库路径:
点击build就可以生成libhellojni.dylib:
Java工程中如何使用JNI:
申明native接口:
public native String stringFromJNI();
public native static void nativePrint();
加载动态链接库:
static {
System.loadLibrary("hellojni");
}
源码
https://github.com/DynamsoftRD/JNI-
git clone https://github.com/DynamsoftRD/JNI-.git
来源:oschina
链接:https://my.oschina.net/u/1187419/blog/314514