mirror of
https://github.com/jlengrand/native-utils.git
synced 2026-03-10 08:31:22 +00:00
Add README file
This commit is contained in:
27
README.md
Normal file
27
README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Native Utils
|
||||
A simple library class which helps with loading dynamic libraries stored in the JAR archive. These libraries usualy contain implementation of some methods in native code (using JNI - Java Native Interface).
|
||||
|
||||
## Notes
|
||||
* The temporary file is stored into temp directory specified by java.io.tmpdir (by default it’s the operating system’s temporary directory). It should be automatically deleted when the application exits.
|
||||
* Although the code has some try-finally section (to be sure that streams are closed properly in case an exception is thrown), it does not catch exceptions. The exception has to be handled by the application. I belive this approach is cleaner and has some benefits.
|
||||
|
||||
## Usage
|
||||
To load the dynamic library, just make sure it is packed inside the JAR archive and call method loadLibraryFromJar:
|
||||
|
||||
import cz.adamh.NativeUtils;
|
||||
|
||||
public class HelloJNI {
|
||||
static {
|
||||
try {
|
||||
NativeUtils.loadLibraryFromJar("/resources/libHelloJNI.so");
|
||||
} catch (IOException e) {
|
||||
// This is probably not the best way to handle exception :-)
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public native void hello();
|
||||
}
|
||||
|
||||
## More information
|
||||
The class was written in 2012 by Adam Heinrich. More information can be found in accompanying blog post (http://adamheinrich.com/blog/2012/how-to-load-native-jni-library-from-jar/).
|
||||
Reference in New Issue
Block a user