如何将PJSIP与Xamarin.Android

时间:2017-10-04 05:38:12

标签: xamarin xamarin.android pjsip pjsua2

业务要求:

开发移动应用程序,使用PJSIP拨打电话并使用Xamarin为Android,iOS和Windows平台发送消息。

采取的步骤:

机器人:

  1. 为Android安装PJSIP(.so文件)。
  2. 为Android创建本机库(.AAR)。
  3. 按照以下步骤创建Xamarin.Android Java binading库 https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/
  4. 创建了相应的文件夹(lib-> arm64-v8a),以便将.so文件保存在.apk中。
  5. 问题:

    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
    

    这个错误特别出现在运行Android 6.0.1和运行android kitkat 4.4的三星平板电脑的Mi和LeTv手机上。

0 个答案:

没有答案