java - 绑定(bind)到 c# 一些使用 .so 库的 java 代码

标签 java c# binding aar .so

有一些 .so 库和 java 代码将它们用于 android。

我在 android studio 中编译此 java 代码以获得 .aar 文件。我需要使用 Visual Studio 为 Xamarin.Android 的 C# 代码进行绑定(bind)。因此,虽然与 java 的绑定(bind)运行良好,但 java 代码会抛出异常:

java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader

通过查看完整的异常消息,我发现java代码找不到.so文件。在Android Studio项目中,.so库位于./lib/armeabi-v7a/,java代码运行良好。

所以,问题是:我应该将 .so 库放在 C# 绑定(bind)库中的哪里?一些内心的气味提示我应该把它放在某个地方——这就是图书馆的工作方式。

我尝试将 .so 库放在我的 .dll 目录中,也放在 ./lib/armeabi-v7a/的更深处,但实际上没有帮助 - 异常(exception)是相同的。我尝试将它们放在 .aar 文件所在的目录中,以及 ./lib/armeabi-v7a/中的更深目录中,但这有点萨满教。这也没有帮助。

最佳答案

问题出在我尝试检查程序工作的方式上。我的 Android 模拟器不支持armeabi-v7a。在我尝试更改模拟器设置后。它变得滞后而且非常慢。问题是在真实设备上测试应用程序。

关于java - 绑定(bind)到 c# 一些使用 .so 库的 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54512271/

相关文章:

c# - 单点触控/三20 : Add many items to the first page of TTLauncherView

c# - WPF绑定(bind)问题

java - ASyncTask 导致 getDatabaseLocked

c# - 在 C# 中调整图像宽度,但不调整高度

forms - 使用绑定(bind)解析数组表单元素

javascript - 如何在验证后显示 Bootstrap 模式窗口?

c# - 在哪里可以找到 x64 版本的 Office Interop 程序集?

java - 理解死锁、同步

java - jooq 返回具有错误值的查询

java - 使用 Java(或其他语言)在 Windows 机器上通过 SSH/Telnet 连接到 Linux 服务器?