That’s running fine, you are calling the allocate in C#, which is a function implemented in C++ and the PulseC.so contains the implementation. Since the library does not load, you crash.
Can you double check your target platform with the Droid Info App
Are you running the unity build directly on these devices, or is there way you are emulating them?
I will look to put up a PulseC.so for arm7a today
I honestly don’t know the process for building/supporting native libraries for android distribution
Is it somewhat analogous to how pip install works?
The developer has to upload installs for multiple operating systems/architectures to the android store
and the device passes up its architecture information and the store can properly see if the app has a version for the requested device or not
So its a lot of responsibility for the developer to provide lots of builds to support multiple configurations…
Or is there a few basic platform targets for native libraries to build to that will cover most android devices well…
i just do not have enough android native development/distribution/support experience
I am building directly to the devices, but you could easily emulate them with an Android Emulator (Nox Player or Bluestacks4) as there are only a few architectures that work on most devices. If you implement those, it should work with no problem… But what I don’t understand is why isn’t Unity finding the dll.
I was looking into the Pulse v2 version of the asset and I don’t see a difference in the way that the DLL is being loaded, so I really don’t know why it does not work in v3 of the asset. The solution that is posted in support forums is to create a .so file for the specific version of Android and calling it directly from the file that requires it,
I will try with the PulseC.so today and let you know, but also try to get some more information on the problem so we can solve it.
Yeah, I am not sure how this is not getting found
I assume you have deleted or replaced the PulseC.so in the Pulse asset
(Heck delete all the PulseC.dll files and the PulseC.dylib too)
Usually, You need to somehow tag it with the right metadata for it to be found…
I am also not sure if the same exception is really not found, or it was found and unity cannot load it
Can you setup a scene in the pulse asset that just has the vitals monitor in an android emulator?
Or at least a setup guide?
That seems to be a way to quickly test…
I will see if I can do it, but any help getting me up will shorten investigation time
For sure! What I do is that I open the Vitals Monitor Scene included in the asset and build it to Android directly after changing the .so file. It gives the same error as it still cannot find the dll.
About changing the dll, I download the .so files that you sent and replace them either in
Assets/PulsePhysiologyEngine/Plugins\Native
or
Assets/Plugins/Android/Libs/armeabi-v7a