如何修复Java绑定:不满意的链接错误



我一直在xamarin中为"kernal/io/serailport"java jar使用绑定项目。构建过程将"serial_port.so"作为共享对象库。调用serial_port.so中存在的函数的C#代码行如下:-

// This line calls java serialport class present in serial_port.so library refrenced in android project.
serialPort = new Kernal.io.SerialPort(device, Baudrate, 0);  

现在,有趣的是,该应用程序运行良好,但当我在用于sqlite数据库访问的android项目中包含"sqlite net pcl"时,它给出了下面提到的异常:-

Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lkernal/io/serialport Unhandled Exception  

只有当我在android项目xamarin中添加"sqlite-net-pcl"库时,才会出现此错误。

我想这个问题与线程有关。如果android项目中不包括"sqlite net pcl",那么绑定项目中的c#代码调用方法会在主线程中正常执行,因此不会引发异常,应用程序运行良好,但当android项目中添加"sqlite net-pcl"时,我认为sqlite-pcl库中的某些东西导致在另一个线程中调用绑定项目方法,因此引发了上述异常。

现在,我的问题是,我如何使c#代码调用绑定项目方法在主线程中运行,或者我如何使slqite net pcl库在主线程上运行,这是不推荐的。

如果我的猜测是错误的,那么引发异常的原因是什么,我该如何解决
感谢

尝试通过自己构建SQLite.NET依赖关系。即添加SQLite.NET项目解决方案作为应用程序依赖项,而不是使用nuget版本。

最新更新