关于android studio中libs文件夹的放置
由于项目关系,需要语音聊天功能,我使用了环信sdk,然后理所当然的按照环信sdk里的jar包、so库放进了libs里,可是问题来了,本来项目中没看到libs文件夹的,然后我新建了一个libs,注意我是在 Project目录下新建了一个与app目录同级的libs文件夹。
然后这样疑问就出来了:这样的话,我的android项目是否可以访问到里面的类呢?应该说这样是可以访问到那些类的,因为在这样放置libs文件夹的情况下,我在开发中所用到的环信sdk里的类编译通过了。可是你让程序跑起来,它会告诉你UnSatisfieldLinkError:Couldn't load,因为它找不到jar包所依赖的so文件。
但是环信sdk除了jar包之外,还有so库,对于so文件,android studio理论上是要求放置在一个jniLibs文件夹下的,这样程序才能够找到要所依赖的so文件。
那么网上查到有两个解决办法:
1.在app->src->main文件夹下直接生成一个jniLibs文件夹,然后把so文件都转移到这个jniLibs下
2.在app目录下的build.gradle的android结点中,填写上以下代码: