#关于android studio中libs文件夹的放置
来源:互联网 发布:hadoop处理结构化数据 编辑:程序博客网 时间:2024/05/16 09:54
关于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结点中,填写上以下代码:
sourceSets { main { //jni库的调用会到资源文件夹下libs里面找so文件 jniLibs.srcDirs = ['libs'] }}
这样切换到Android视图在app目录下会自动创建一个jniLibs文件夹
我用的是第二种,这也是我要说的libs文件夹所放的位置问题:
我这样把程序跑起来,结果还是会崩掉,原因还是说找不到so文件,上面的代码是把jni库的调用会自动去libs中去找so文件,那么这里所指的libs文件夹真的是我创建的在Project中和app目录同级的libs文件夹吗?其实从build.gradle的位置我们应该看出点眉目,这个build.gradle是指app目录下的build.gradle,那么应该说这里的libs也应该在app目录里面才对。
然后我把libs文件夹转移到app目录与src同级
最后,把程序跑起来,so文件终于找到了。。。折腾了我这个android studio小白几个小时。
1 1
- #关于android studio中libs文件夹的放置
- 关于android studio中libs文件夹的放置
- 关于Android Studio中放置assets文件夹
- Android Studio放置assets文件夹
- 如何在Android Studio中放置assets文件夹
- 如何在Android Studio中放置assets文件夹
- 如何在Android Studio中放置assets文件夹
- 在Android项目中新建libs文件夹
- 关于Android Studio中新建的文件夹不显示
- 在Android Studio中添加libs
- Android Studio 关于drawable文件夹的问题
- android studio 图片资源的放置位置
- AndroidStudio中关于assets文件夹下放置文件问题
- Android studio中如何引用libs目录中的aar文件
- 在android studio中重新配置Libs目录
- Android Studio在libs中添加jar包
- android studio 使用libs包
- Android Studio找不到libs目录
- HTML 视频
- MySQL压缩包版安装教程
- 本年度最大收购交易现世:AT&T 854亿美元收购CNN,HBO,《蝙蝠侠》母公司时代华纳,变身内容巨头
- English考研语句第一句
- iOS学习之图片放大,滑动浏览
- #关于android studio中libs文件夹的放置
- Leetcode第十周周赛Smarking Algorithm Contest
- DllNotFoundException: ulua
- MySQL 基础
- R tutorial 07 - Pie Charts 圆形图
- Leetcode 421. Maximum XOR of Two Numbers in an Array 最大Xor和 解题报告【待理解】
- C语言指针详解
- 字符串算法-BMH
- Nginx windows下搭建过程