底层调用共享库中函数的方法
> 首先使用dlopen("libmedia.so", RTLD_LAZY); 加载对应的库文件libmedia.so;
> 之后使用dlsym(libhandle, "function_name"); 获取指定函数的指针;
> 最后使用获取的函数指针调用对应的函数,执行相应的操作;
需要注意的是,调用的共享库都必须在对应的Android.mk的共享库中添加;
android调用第三方共享库.so
1.将SO文件直接放到libs/armeabi下,然后代码中System.loadLibrary("xxx");再public native static int xxx_xxx_xxx();接下来就可以直接调用xxx_xxx_xxx()方法;
2.第二种方案,创建自己的SO文件,在自己的SO文件里调用第三方SO,再在程序中调用自己的SO,这种比较复杂,需要建java类文件,生成.h文件,编写C源文件include之前生成的.h文件并实现相应方法,最后用android NDK开发包中的ndk-build脚本生成对应的.so共享库;