解决方案 »

  1.   

    jni?
    windows 下好像只能是 dll 了。我们就是为不同的平台封装的不同的动态库,然后分别调用的
      

  2.   

    而且看的 sqlite jdbc 的例子,也是这么干的,分别为 linux、windows、mac 编译的本地库,没有你所谓的通用动态库
      

  3.   

    不要搞混了。Java跨平台没错的,.so放在工程中也是没错的。
    然后Java调用.so也没错,但是.so动态库无法实现其功能,windows下得动态库是dll。
    即Java调什么类型的动态库本身没错,关键是动态库本身在各个平台不是通用的。
    .so是linux下得,.dll是windows下的。所以,你可以再让其编译一个.dll。或者我记得dll和.so可以互相转换的,可以去搜搜了解下。
      

  4.   

    谢谢指点,大概有思路了。
    但是这样会不会存在一个问题,一般开发环境搭建在WIndows平台,在上面使用dll。但是在发布到Linux平台后,需要将动态库更换为so。那么这个更换的动作也是存在一定风险,这是没法避免的么?