BelledonneCommunications / linphone-xamarin

Linphone.org mirror for linphone-xamarin (git://git.linphone.org/linphone-xamarin.git)
https://www.linphone.org/
GNU General Public License v3.0
26 stars 21 forks source link

Latest nightly SDK build fails for Android & iOS Xamarin on Windows #21

Open dimitrijevic opened 6 years ago

dimitrijevic commented 6 years ago

Using the latest Xamarin nightly build .zip file the Xamarin Visual Studio solution within is failing it's build at _Java.Lang.JavaSystem.LoadLibrary("mediastreamerbase"); producing an exception Java.Lang.UnsatisfiedLinkError:

The debug output shows this:

[ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.linphone.xamarin-1/base.apk"],nativeLibraryDirectories=[/data/app/org.linphone.xamarin-1/lib/arm, /data/app/org.linphone.xamarin-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn't find "libmediastreamer_base.so

Changing out the .aar file with the one from the latest build of android sdk .zip makes it go past that line but still fails on calling a dllimport which can be commented out to have it build and run, but somehow I don't think it is a solution (especially since it says the call is for setting up the media streamer context used in making upcalls), so is there a better solution or a Xamarin SDK build that works with the new solution out there out of the box (or is the recommended path to build out the SDK yourself now)? TIA

Additionally, there's problems, naming project Xamarin, since Xamarin.iOS produces Xamarin.iOS.exe, thus you get this error: Application name 'Xamarin.iOS.exe' conflicts with an SDK or product assembly (.dll) name.

hinnerkweiler commented 6 years ago

I can confirm both issues here. Noone any ideas?

CrazyDindon commented 6 years ago

Confirmed. libmediastreamer_base.so doesn't exist in the solution. libmediastreamer does and i'm able to make an audio call by replacing the loading like that:

//Java.Lang.JavaSystem.LoadLibrary("mediastreamer_base");
//Java.Lang.JavaSystem.LoadLibrary("mediastreamer_voip");
Java.Lang.JavaSystem.LoadLibrary("mediastreamer");

Video dosen't work though and I'm not sure it's a solution.