Closed Mikeye666 closed 8 months ago
Hey Man I am facing a lot of trouble with the android implementation as well, ive exported my plugins succesfully to .so using android.mk and have tried the same with Cmake as well. in both cases i always get a plugin not found error while debugging the app. I tried the fix mentioned above. didnt workout either.
Hey Man I am facing a lot of trouble with the android implementation as well, ive exported my plugins succesfully to .so using android.mk and have tried the same with Cmake as well. in both cases i always get a plugin not found error while debugging the app. I tried the fix mentioned above. didnt workout either.
Sound like one (or multiple) of the following is wrong:
A quick way to check if your symbol get correctly exported by your .so build: On Mac/Linux:
nm -gD
.so | grep 'UnityGetAudioEffectDefinitions'
On Windows, use dumpbin and findstr instead.
Your plugin dll is not loaded for your app deployed ABI What ABI did your plugin code used to build, armv7 or armv8? Whichever you used, you should make sure you .so libraries gets loaded for android runtime and correct ABI
Your unity build uses an Android ABI that doesn't have an .so that contains your plugin. You can see the ABI used for your Unity build in player settings -> others. If you are building with armv7 only, and you don't have an armv7 .so for your plugin, Unity won't find your plugin.
I would not classify myself as Unity expert, but hope those helps :)
Problem: We are shipping commercial audio plugin and we would like to hide symbols of internal components. However, the UNITY_AUDIODSP_EXPORT_API macro does not force visibility so we ended up hiding UnityGetAudioEffectDefinitions symbol as well, resulting in Unity can't find our audio plugin on android.
To reproduce:
Proposed fix: Inside AudioPluginInterface.h, change
to this:
Hope this got fixed soon.