android中使用jni可以调用linux操作系统下的库吗解决方法

android中使用jni可以调用linux操作系统下的库吗
比如我想通过jni调用c++库实现网络收发,那我是不是可以先在ubuntu操作系统里做好.so文件(调用诸如sys/socket.h之类的头文件和pthread.so之类的系统库),再把.so文件用在android项目中?
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

因为不想用java写底层程序


无语。

网络上的这些东西算个撒的底层啊。

你这么一干,开发的effort蹭蹭就上去了N多。

只是拿网络收发简单的打个比方。想请教一下,如果要这么实现,是不是可行


可行啊。很多软件都是这么做的。

而且还可以很快移值ios上面。

一个比较复杂的项目叫WebRTC,但TMD现在N多的项目都被挡在墙外了。
------解决方案--------------------
可以在Ubuntu上面开发,但是最终的so包要使用交叉编译才行。
我一般是在Ubuntu下写好代码,调试好了之后再最红用NDK的toolchain交叉编译arm版的so放到安卓下面用
------解决方案--------------------
引用:
比如我想通过jni调用c++库实现网络收发,那我是不是可以先在ubuntu操作系统里做好.so文件(调用诸如sys/socket.h之类的头文件和pthread.so之类的系统库),再把.so文件用在android项目中?
可以,没有问题的,你可以把so在java层加载,也可以在jni层和c++文件结合编译新的 so,对于android而言,加载so都是放在java层做的!
------解决方案--------------------
不需要手动拷贝,只要把so放到libs/armeabi/下面就行了,打包的事情交给IDE就可以了。