- Home /
Using 3rd Party shared library on Android with NDK
Hello, I am trying to make an Android Plugin which uses FMOD for Android, using the NDK (I need this to be native because I am also using a third party open-source C++ library that needs to interact with FMOD, which works fine). I am able to compile everything with the NDK OK, but when I create my Unity project, I always get a DLLNotFoundException if I am using the FMOD shared lib. Note that the shared library that I created works fine if I do not include any FMOD calls, so I am pretty sure that the Unity player cannot find the FMOD shared libs.
This is my plugins code:
extern "C" {
#endif
static int mycount = 0;
int FooTest(){
unsigned int version;
FMOD::System* system_;
//Init
FMOD_RESULT result = FMOD::System_Create(&system_);
if (result != FMOD_OK) return -1;
result = system_->getVersion(&version);
if (result != FMOD_OK) return -1;
if (version < FMOD_VERSION)
{
//printf("Error! You are using an old version of FMOD %08x. This program requires %08x\n", version, FMOD_VERSION);
return -1;
}
result = system_->init(32, FMOD_INIT_NORMAL, 0);
if (result != FMOD_OK) return -1;
return mycount++;
}
#ifdef __cplusplus
}
#endif
If I comment out all the FMOD stuff, the returned count is incremented and shown on screen. Whenever I build with the FMOD calls, I get the "DLLNotFoundException:FooTest"
I included the fmodex.so and fmodexL.so libraries both in my plugins/android directory and in the root of my project, and I have checked that they are present in the lib/armeabi folder of the generated APK.
If anyone is interested I can also post the Android makefiles I use to generate my shared library.
Your answer
Follow this Question
Related Questions
Did anyone built the Alembic Importer for Android and iOS? 0 Answers
Calling an Android plugin from Javascript? 0 Answers
Not rendering camera when using Unity as library on Android Studio 0 Answers
Can´t found android.support.v4.content.ContextCompact 0 Answers
Project Tango or Vuforia Android plugin support on Unity for Linux 2 Answers