He implementado Linphone en formularios Xamarin. Funciona bien en iOS pero falla en Android. Muestra esta excepción
System.DllNotFoundException linphone.framework/linphone assembly:<unknown assembly> type:<unknown type> member:(null)Muestra la excepción después del siguiente código.
CoreListener listener = Factory.Instance.CreateCoreListener();¿Hay algún SDK de Android específico que deba descargar para que Linphone funcione? No tengo ni idea de cómo solucionar esto. ¿Alguna sugerencia?
El intento principal es la solución borrar/reconstruir, luego intente desinstalar y reinstalar la biblioteca, ya que es una excepción dllNotFound y si los otros no funcionan, puede intentar encontrar su DLL faltante desde aquí (pero para este tiene que averiguar qué archivo dll te falta).
Sé que estas son cosas fáciles, pero tal vez no lo pensaste en ese momento.
Tuve problemas similares con otras bibliotecas de terceros y descubrí que el enlazador está causando el problema. ¿Has probado a apagar el enlazador?
Aquí se explica cómo hacerlo en VS 2022:
Haga clic con el botón derecho en su proyecto Xamarin.Android > Propiedades > Opciones de Android > Propiedades del vinculador > Establecer vinculación en None para la configuración deseada
Eche un vistazo a esta página para obtener más información sobre cómo vincular
Arreglé esto haciendo un cambio menor en el código.
#if WINDOWS_UWP public const string BELLE_SIP_LIB_NAME = "bellesip"; public const string BCTOOLBOX_LIB_NAME = "bctoolbox"; #else public const string BELLE_SIP_LIB_NAME = "linphone"; public const string BCTOOLBOX_LIB_NAME = "linphone"; #endif Cambié la public const string BELLE_SIP_LIB_NAME = "linphone.framework/linphone"; a public const string BELLE_SIP_LIB_NAME = "linphone"; . Creo que faltan algunas bibliotecas en linphone.framework.