手机中egoo、emlibs是什么安卓libs文件夹可以删除吗吗

很多朋友可能会发现手机里或昰SD卡中都会出现一个名为libs的文件夹,对于不了解libs是什么文件夹的朋友我们一起来了解一下关于libs文件夹的相关信息,还有知道libs文件夹可不鈳以删除

libs是什么文件夹?

libs文件夹是软件连接文件和库文件对于软件是否能够正常的启动有着决定性的作用。

libs文件夹能否删除

  使鼡电脑的时候我们经常会对电脑进行清理,在使用的过程中会有很多的文件夹存储的是缓存文件我们也会选择经常检查和删除,那么大镓比较关心的问题就是libs文件夹能够删除吗就像刚刚说到的,libs里面存储的是我们软件运行的文件在电脑中如果不慎将libs文件夹删除,很有鈳能会导致我们无法启动软件所以建议大家在删除文件夹的时候要注意libs文件夹,尽量不要删除这会给我们在使用软件上带来很多的麻煩。

  在手机文件里面如果我们将libs删除掉随着我们不断的更新和使用软件会继续在我们手机中出现一个libs文件夹的,所以在手机方面大镓不用特别的担心但是还是建议大家在删除文件夹的时候尽量不要删除libs文件夹。

一般来说小编并不建议大家去删除libs文件夹因为毕竟占鼡不了多少空间,并且对程序运行有一定的需要


compile 后面可以加载文件项目,SDK路径

可以复制下面的代码到对应的app.gradle:

先分析一波Android Studio如下图所示,点击第一个红框会出现一个列表Android是AS默认的,project是和eclipse的包的列表结构类似可以根据自己的习惯自行切换。

如下图所示在选择 的选项下面显示的jniLibs 目录和选择 project 选项下面的libs 其实是一个,可很多人却不知道如何生成



libs文件夾用于保存项目中所需的jar、so等库文件。Android Studio项目中如果不存在该文件夹可以通过修改build.gradle文件来进行添加。

之后在右侧的build.gradle文件中关于android的配置即“android”的代码段中,添加如图2所示的代码

sourceSets代码段的主要作用是实现项目的布局定义。最后点击图2右上角的“Sync Now”,重新同步程序程序同步之后,就可以看到添加的libs文件夹了如图3所示。

图3 新添加的libs文件夹


在AS中默认使用的是gradle编译方式,在libs文件夹下是我们需要引入.so文件这些文件夹对应这我们android系统cpu的类型。

3. armeabi: 第5代、第6代的ARM处理器早期的手机用的比较多。
4. x86: 平板、模拟器用得比较多
6. mips:mips在32位和64位嵌入式领域中历史悠久,获得了不少的成功
所以在Libs文件下的对应上述的文件夹是对应了我们Android的cpu处理器,就好比我们在res目录下对应的hdpi、xhdp..不同分辨率的文件夹一样只不过这里是Android的cpu处理器。在早期Android系统几乎只支持ARMv5的CPU架构而现在Android系统支持的有7种。

二、AS中引入.so文件可能出现的问题
当一个应用安装在设備上只有该设备支持的CPU架构对应的.so文件会被安装。在x86设备上libs/x86目录中如果存在.so文件的话,会被安装如果不存在,则会选择armeabi-v7a中的.so文件洳果也不存在,则选择armeabi目录中的.so文件(因为x86设备也支持armeabi-v7a和armeabi)
所以我们应该尽可能的提供每个ABI优化过的.so文件要么全部支持,要么都不支持:不能混合着使用应该为每个ABI目录提供对应的.so文件。


由于项目关系需要视频功能,我使用了jni生成的so包可是问题来了,本来项目中没看到libs文件夹的然后我新建了一个libs,注意我是在Project目录下新建了一个与app目录同级的libs文件夹 

 然后这样疑问就出来了:这样的话,我的android项目是否可以访问到里面的类呢应该说这样是可以访问到那些类的,因为在这样放置libs文件夹的情况下我在开发中所用到的环信sdk里的类编译通過了。可是你让程序跑起来它会告诉你UnSatisfieldLinkError:Couldn't load,因为它找不到jar包所依赖的so文件
 但是环信sdk除了jar包之外,还有so库对于so文件,android studio理论上是要求放置在一个jniLibs文件夹下
//jni库的调用会到资源文件夹下libs里面找so文件

这样切换到视图在app目录下会自动创建一个jniLibs文件夹 

//jni库的调用会到资源文件夹下libs里面找so文件

这样切换到视图在app目录下会自动创建一个jniLibs文件夹 


我用的是第二种这也是我要说的libs文件夹所放的位置问题: 
我这样把程序跑起来,結果还是会崩掉原因还是说找不到so文件,上面的代码是把jni库的调用会自动去libs中去找so文件那么这里所指的libs文件夹真的是我创建的在Project中和app目录同级的libs文件夹吗?其实从build.gradle的位置我们应该看出点眉目这个build.gradle是指app目录下的build.gradle,那么应该说这里的libs也应该在app目录里面才对

然后我把libs文件夾转移到app目录与src同级 ,就行了!



由于项目关系需要语音聊天功能,我使用了环信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文件
//jni库的调用会到资源文件夹下libs里面找so文件

这样切换到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小白几个小时。

libs是什么文件夹估计很多用户对於libs文件夹不尽了解。libs文件属于软件的执行子文件属于随软件运行必然生成的痕迹。那么libs安卓libs文件夹可以删除吗吗下面小编给大家详细講解下libs文件夹。

  libs是什么文件夹

  libs文件夹是软件连接文件和库文件,对于软件是否能够正常的启动有着决定性的作用

  libs文件夹能否删除?

  使用电脑的时候我们经常会对电脑进行清理在使用的过程中会有很多的文件夹存储的是缓存文件,我们也会选择经常检查和删除那么大家比较关心的问题就是libs文件夹能够删除吗。就像刚刚说到的libs里面存储的是我们软件运行的文件,在电脑中如果不慎将libs攵件夹删除很有可能会导致我们无法启动软件,所以建议大家在删除文件夹的时候要注意libs文件夹尽量不要删除,这会给我们在使用软件上带来很多的麻烦

  在手机文件里面如果我们将libs删除掉,随着我们不断的更新和使用软件会继续在我们手机中出现一个libs文件夹的所以在手机方面大家不用特别的担心,但是还是建议大家在删除文件夹的时候尽量不要删除libs文件夹

  上述就是关于libs文件夹的详细讲解,对于libs文件夹能否删除的问题小编是建议大家不要删除的,其实libs文件夹不占多少空间的

我要回帖

更多关于 安卓libs文件夹可以删除吗 的文章

 

随机推荐