Как интегрировать PJSIP с Xamarin.Android

Бизнес-требование:

Разработка мобильного приложения для совершения звонков и отправки сообщений с использованием PJSIP для платформ Android, iOS и Windows с использованием Xamarin.

Предпринятые шаги:

Android:

  1. Сборка PJSIP для Android (.so файл).
  2. Создан родной lib (.AAR) для Android.
  3. Создал бинарную библиотеку Java Xamarin.Android, выполнив следующие действия, указанные в https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/
  4. Созданы соответствующие папки (lib->arm64-v8a) для хранения.so файла в.apk.

Проблема:

Пример кода в Xamarin.Android:

protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);
            Java.Lang.JavaSystem.LoadLibrary("pjsua2");
            Account obj = new Account();
            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());
        }

Получение следующей ошибки времени выполнения для оператора:

 (Java.Lang.JavaSystem.LoadLibrary("pjsua2"));:

Необработанное исключение:

Java.Lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "freeifaddrs" 
referenced by "/data/app/PJSIPForAndroid.Android-1/lib/arm64/libpjsua2.so"... occurred

Эта ошибка возникает специально на телефонах Mi и LeTv под управлением Android 6.0.1 и Samsung Tablet под управлением Android KitKat 4.4.

0 ответов

Другие вопросы по тегам