mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
20 lines
1.5 KiB
Plaintext
20 lines
1.5 KiB
Plaintext
/*! \page native_page Native Library Loading
|
|
|
|
\section native_overview Overview
|
|
This section outlines how Autopsy distributes native libraries and provides
|
|
pointers for you if you want to distribute native libraries with your modules.
|
|
|
|
The easiest guidance (from http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#jni) is to put the native library in the <tt>release/modules/lib</tt> folder in your project. Or, in architecure-specific locations if your module is multi-platform. See the above page for examples. They will get copied from that location to somewhere that will be searched when Autopsy does a <tt>System.loadLibrary()</tt>.
|
|
|
|
\section native_autopsy Autopsy Native Libraries
|
|
|
|
Autopsy has two types of native libraries:
|
|
- The libtsk_jni native library
|
|
- The libraries that libtsk_jni depends on
|
|
|
|
<tt>libtsk_jni</tt> is embedded inside of the <tt>Tsk_DataModel.jar</tt> file from The Sleuth Kit. The java code extracts the file from the jar into a local temp folder and launches it in the LibraryUtils.loadSleuthkitJNI() method.
|
|
|
|
The libraries that <tt>libtsk_jni</tt> depends on are launched by Autopsy in the Installer.loadDynLibraries() method. This is because if we wait until <tt>libtsk_jni</tt> needs them, then they will be located based on Windows search paths and the NetBeans paths are not in that set. So, we launch them before <tt>libtsk_jni</tt> needs them and from within Autopsy so that it uses the Autopsy search pathes.
|
|
|
|
*/
|