- Home /
Unity Android Native Library Entry Point Not Found but ONLY on recently added functions
Howdy doodie,
Before I start I'd like to say that I promise I have searched high and low to the answer to this problem, and while there are some really great resources out there that have helped me get me to a place where I felt educated enough to ask this question, I think this problem is unique enough to merit its own question. At least I hope so. If I missed a help topic that is 100% my bad, I don't want to waste anyones time or space, but I have been stuck on this for 5 days now and I told my business partner these features would take ten minutes to implement sweating intensifies.
I've been developing an android based audio app that required a native library in order to use Androids semi-new AAudio library. It's been a bit of an uphill slog but I just recently got all the core functions working perfectly!
Now that the core functionality is there, I started adding features to the app which, in turn required more functions to be added to the library.
Here's the problem: Every "Extern C" function that was added after I got the core of the library to work, throws an Entry Point Not Found
exception in the android log-cat. This is what I have done thus far:
I immediately looked towards name mangling (which doesn't make much sense given that I am using
extern "C"
). And tried different calling conventions.on opening the file in command prompt and a hex editor, the functions were there, perfectly spelled and as plain as day.
To make matters worse (or maybe better?), if I modify other functions in the library to print something to the log, the changes are reflected when the app runs meaning that updates to the library are at least partially reflected in the unity build of the apk...
I've deleted the app off of the test device wiped the apk files from every known place on my computer, restarted my computer, updated android studio and the ndk, reimported the android studio project and unity project all to no avail.
I have run into problems in the past of Unity pretty much refusing refusing to reflect changes in the library but I quickly realized that I needed to restart unity every time I made a change (eyes rolling out of head) but, in those cases no changes were reflected at all. This is some sort of half state where changes to the old faithful functions are reflected but any of the new and apparently uncool functions get totally ignored by the app as if they were not present. Like I said earlier, looking with a hex editor shows that they are indeed present.
Any hints, words of affirmation, or outright answers will be much appreciated and, if anyone has any questions about using AAudio in unity, please ask I am more than willing to share code snippets and point out possible dead ends and quirks!
Thanks,
Isaac