关于jni的java程序,如何把so一起打包成jar

wuxp78 2014-10-23 08:39:06
是这样的,公司要用java开发一个程序,对于硬件通信想把每个硬件的接口做成一个jar,现在在linux环境下jni调用so是没问题,问题是如何把用jni的java程序一起把so打包成jar,直接提供给另一个java程序调用。请牛人指点,不胜感激。
...全文
2220 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
airfling 2018-05-16
  • 打赏
  • 举报
回复
思路是先当成普通文件一起打包到jar包,由于.so文件这时候被压缩了,所以不能直接使用,需要动态加载到动态库中,动态加载的方式是Thread.currentThread().getContextClassLoader().getResourceAsStream() 获取到文件流 ,把内容全部读取出来然后使用System.load()加入到动态库中参考 https://zhidao.baidu.com/question/1450226145402869740.html
刘云龙在搞机 2017-04-24
  • 打赏
  • 举报
回复
引用 4 楼 yuxiangyunei 的回复:
不用像lz这么麻烦。 按照http://blog.csdn.net/lincyang/article/details/44457799生成jar,拷贝到libs下。 拷贝so到app\src\main\jniLibs下,按平台分类存放。 注意jar中的调用者包名和so中的被调用者包名要一致,否则so找得到、而so中的函数找不到。
你这是Android,楼主的问题是Java程序
yuxiangyunei 2016-01-05
  • 打赏
  • 举报
回复
不用像lz这么麻烦。 按照http://blog.csdn.net/lincyang/article/details/44457799生成jar,拷贝到libs下。 拷贝so到app\src\main\jniLibs下,按平台分类存放。 注意jar中的调用者包名和so中的被调用者包名要一致,否则so找得到、而so中的函数找不到。
yyj984551002 2016-01-04
  • 打赏
  • 举报
回复
同问:“然后再从jar中把so写到一个目录” 这个过程是怎么实现的呢?能够帮忙解答下吗?先谢了!
tsp1030 2014-11-20
  • 打赏
  • 举报
回复
“然后再从jar中把so写到一个目录” 这个过程是怎么实现的,能说明一下吗 谢谢
qq_15367417 2014-10-29
  • 打赏
  • 举报
回复 1
自己已经解决了,就是把so一起打包到jar中,然后再从jar中把so写到一个目录,这样就可以了

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧