0

I have a shared library, an .so library with a JNI interface. The .so library was built in Visual C++ 2017 with Android support. Now I want to import the .so library into a Java Netbeans project - is it possible?

Robin Green
  • 32,079
  • 16
  • 104
  • 187
Ejrr1085
  • 975
  • 2
  • 16
  • 29
  • If it was built for Android, it's probably compiled for ARM or something like that. ARM libraries won't run on PCs, unless they also have ARM CPUs. – Robin Green Dec 04 '18 at 22:57
  • Thanks for your answer, I found this video how import Visual C++ JNI dll in Eclipse, Eclipse has the option to import Native Library Location, but Netbeans has something equals? https://www.youtube.com/watch?v=R9oqGU6U_tI – Ejrr1085 Dec 04 '18 at 23:07

1 Answers1

0

Well, I got it with these posts:

http://electrofriends.com/articles/jni/jni-part1-java-native-interface/

http://electrofriends.com/articles/jni/part-2-jni-visual-studio-setup-dll-project/

Including Native Library in Netbeans

1.- Create JNI Library .dll or .so in Visual Studio with DLL project or C++ Library For Android, no empty Project and with JDK reference:

a.- In Visual Studio Go to Project->Properties.

b.- On the left side, select C/C++, add jdk include and win32 path in Additional Include Directories. If you have installed jdk in c program files then the path is

C:\Program Files\Java\jdk1.6.0_18\include; C:\Program Files\Java\jdk1.6.0_18\include\win32

if JDK is 64 bits plataform the DLL must be compile to x64.

2.- In Netbeans:

a.-Right click on the Project Properties

b.- Click on RUN

c.- In VM Options TextBox add:

-Djava.library.path="C:\Your Directory where Dll is present".

c.- Finally call C++ method:

System.loadLibrary("JNILibreria");

The dll name complete is for example JNILibreria.dll.

Ejrr1085
  • 975
  • 2
  • 16
  • 29