JAVA可以调用Linux平台上的.so文件吗?

我想在JAVA项目中调用由“.so”文件提供的API。 JAVA能在linux平台上调用.so文件吗? 任何人都能提供解决scheme? 非常感谢你!

JAVA能在linux平台上调用.so文件吗?

有两种方法可以做到这一点:

  • JNI允许您在Java中声明方法为native ,然后以其他语言(通常为C或C ++)实现,并将它们提供为“.so”文件。 但是,对于任何旧的“.so”文件,您都不能这样做,因为Java期望“.so”中的方法具有JNI特定的签名。

  • JNA允许你在任意本地库中调用方法。 您编写提供“本地库声明”以匹配本机方法签名的Java代码,并且JNA基础架构处理数据类型映射等。

是的,通过JNI 。