Java 在eclipse中,web项目如何加载.so文件的详细步骤

Java 在eclipse中,web项目如何加载.so文件的详细步骤,第1张

引入jna.jar包。 然后写一个接口类继承Library来和.so(linux平台)或.dll(windows平台)文件交互。接口中对应的方法为so中的方法,大小写都需要完全一致,同时参数类型也需要注意,jna和so中的参数类型的对应转换。

以下是代码是大概例子,你可以看一下,是有参数的对应格式的。其中,Native.loadLibrary为加载链接库文件。

public interface LibVlc extends Library {

    Info INFO = Info.getInstance()

    LibVlc INSTANCE = (LibVlc)Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class)

    LibVlc SYNC_INSTANCE = (LibVlc)Native.synchronizedLibrary(INSTANCE)

    String libvlc_errmsg()

    void libvlc_clearerr()

  

    libvlc_instance_t libvlc_new(int argc, String[] argv)

}

用Eclipse编译工程,若工程下有libs目录,会自动将里面的*.so库编译到apk包中。我现在需要用到*.so库和Android.mk文件编译工程,但用Eclipse编译时,Android.mk不起作用。Android.mk好像只有在通过源代码编译工程时才起作用(我目前只发现这个法),即在Linux环境下的Android源代码目录中,通过make或mmm命令编译。但通过mmm编译的工程,不会把工程下libs目前中的*.so库添加进apk包里,是不是要在Android.mk文件中添加一些申明什么的?还有,想知道Android源代码中,重启手机的相关代码在哪个部分。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11407493.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存