如何修复 Java Bindings: UnsatisfiedLinkError?

How can I fix Java Bindings: UnsatisfiedLinkError?

我一直在 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-net-pcl' 包含在 android 项目中以进行 sqlite 数据库访问时,它给出了下面提到的异常:-

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

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

我猜这个问题与线程有关。如果 "sqlite-net-pcl" 未包含在 android 项目中,则绑定项目中的 c# 代码调用方法将在主线程中正常执行,因此不会引发异常并且应用程序运行正常,但是,当 "sqlite-net-pcl" 添加到 android 项目中,我认为 sqlite pcl 库中的某些东西使得在另一个线程中调用绑定项目方法,因此引发了上述异常。

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

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

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