说的好乱,要想明白so的问题,最好静下心来来Linux下,Android在so级别都算系统开发或者ndk等等套了几套了。
你说的完全不是问题,so本来就是为了另外的so或者应用程序调用的。

解决方案 »

  1.   

    我说是
    a.so文件依赖于b.so,我打开a.so,可以看到a.so里有b.so和另外一些so的依赖。但是运行程序时,a.so是找不到同一目录下的b.so。试过编译时把依赖改成./b.so,也不行。但是改成依赖绝对的路径/xxx/xxx/xxx/b.so,就可以正常运行。但是我的android apk安装的路径却很奇怪,会在代表 包那一层的目录下加上-1或者-2,也就是绝对的路径每次安装都不一样。
    后来我想了一个另外的方法,就是把b.so用adb  push 到system/lib下,但是apk不会自动 把so文件安装 在这里。不知道要怎么设置,网上也找不到资料。
    时间有限,只能把so改成.a来解决这个问题了。等以后有空再慢慢研究。