前言:
刚来公司,接了一个项目(具体项目不便透露),其中涉及到一个socket数据传输的问题,这里当然就不可避免的用到了.so动态库进行实现。接触过jni的应该都知道,Android调用.so库其实很简单,不就是直接static { System.loadLibrary(“aaron”); }吗?其实我救算这么想的,但是直到我拿到.so和.h文件之后才发现我错了。好了,废话不说了,进入正题:
实现步骤:
一、 分析你手上的.so文件(你可以看.h头文件,我的理解就是,这个.h文件其实就是c的一个接口类,c才是具体实现功能的):
如果.h文件中的方法名类似 Java_com_aaron_demo_JniUtil_getString ,那么恭喜你,你可以直接到最后一步(五、使用符合Java规范的.so库);
如果.h文件中的方法名类似 getString ,你还是老老实实的看第二步吧