解决方案 »

  1.   

    有专门有NDK供开发。自己翻墙去下载了。不过,一般的网络收发,用java提供的库就可以了啊。
      

  2.   

    理论上是可以,这是对第三方库的调用 
    个人也觉得用java做网络收发更方便,更好用
      

  3.   


    我的担心是虽然android基于linux系统,但那些系统文件/系统库的路径可能不一样,或者甚至不能直接访问到,导致加载so失败。我刚接触android,所以有此一问。ps:我在windows下做了基于ws2_32.dll的网络收发库(dll),结果在windows下的java工程里可以调用,但在android工程里就不能调用,猜测是由于android系统里没有windows系统里的ws2_32等系统dll。
      

  4.   


    我的担心是虽然android基于linux系统,但那些系统文件/系统库的路径可能不一样,或者甚至不能直接访问到,导致加载so失败。我刚接触android,所以有此一问。ps:我在windows下做了基于ws2_32.dll的网络收发库(dll),结果在windows下的java工程里可以调用,但在android工程里就不能调用,猜测是由于android系统里没有windows系统里的ws2_32等系统dll。
    我的担心是虽然android基于linux系统,但那些系统文件/系统库的路径可能不一样,或者甚至不能直接访问到,导致加载so失败。我刚接触android,所以有此一问。ps:我在windows下做了基于ws2_32.dll的网络收发库(dll),结果在windows下的java工程里可以调用,但在android工程里就不能调用,猜测是由于android系统里没有windows系统里的ws2_32等系统dll。
    你干什么要自己做网络收发库呢?系统提供的不够么?你要用raw socket里的功能
      

  5.   


    无语。网络上的这些东西算个撒的底层啊。你这么一干,开发的effort蹭蹭就上去了N多。
      

  6.   


    无语。网络上的这些东西算个撒的底层啊。你这么一干,开发的effort蹭蹭就上去了N多。
    只是拿网络收发简单的打个比方。想请教一下,如果要这么实现,是不是可行
      

  7.   


    无语。网络上的这些东西算个撒的底层啊。你这么一干,开发的effort蹭蹭就上去了N多。
    只是拿网络收发简单的打个比方。想请教一下,如果要这么实现,是不是可行可行啊。很多软件都是这么做的。而且还可以很快移值ios上面。一个比较复杂的项目叫WebRTC,但TMD现在N多的项目都被挡在墙外了。
      

  8.   

    可以在Ubuntu上面开发,但是最终的so包要使用交叉编译才行。
    我一般是在Ubuntu下写好代码,调试好了之后再最红用NDK的toolchain交叉编译arm版的so放到安卓下面用
      

  9.   

    可以,没有问题的,你可以把so在java层加载,也可以在jni层和c++文件结合编译新的 so,对于android而言,加载so都是放在java层做的!
      

  10.   

    顺便请教一下,调用了jni的so生成的apk文件是不是已经把so库打包在里面了?否则的话还需要把so和apk一起拷贝到android里面才能执行?
      

  11.   

    不需要手动拷贝,只要把so放到libs/armeabi/下面就行了,打包的事情交给IDE就可以了。