偶然中发现Android Studio的工程文件夹比ADT Bundle的大很多。
用Android Studio新建一个空工程,工程文件夹大小为30M,运行一次后大小为40M。
同样用ADT Bundle新建一个空工程,工程文件夹大小为1.5M,运行一次后大小为3.8M。
天哪!Android Studio的工程比ADT Bundle的工程至少大了10倍啊!

这是为什么呢?
带着疑惑打开Android Studio工程文件夹,在<工程根目录>\build\generated文件夹中发现有个叫mockable-android-23.jar的文件,这货竟然有22M大!而且每个工程下都有!
网上对这个文件的介绍比较少,不过还是找到了两处有用的介绍:
http://stackoverflow.com/questions/34853185/how-to-use-mockableandroidjar
http://blog.csdn.net/u010331406/article/details/51736211
总的来说就是这个文件是用来做单元测试用的,但该功能目前还处于实验阶段,不想用可以关了。
该功能默认是开启的,而且如果不关的话,在每个工程中都会生成一个这么大的jar文件。
如果能在电脑上全局共享一个这样的jar文件就好了,但目前不行。

说了这么多,不管你关不关,反正我是要关了。哈哈~
关掉也简单,在设置中找到Experimental,把第3个选项的勾去掉。截图借用了上面那位CSDN博友的,在此表示感谢!

去掉勾后,clean一下工程,工程大小减少了20M。以后新建的工程就没这个文件了,之前的工程clean一下也会删除该文件。每个工程减少20M,总量也相当可观哦。

不过去掉这个大文件后,Android Studio工程还是比ADT Bundle的大很多。也许做不到ADT Bundle工程那么小,毕竟是两种不同的开发环境,但仍希望能再缩小些。博友们有没有其它给工程减肥的办法呢?

-------------------------------------2016.8.28更新------------------------------------------

上次去掉mockable-android-23.jar后,一个空工程可以减小到10M。经过测试发现,去掉v7包后,空项目可以减小到1M。

去掉v7包的方法也很简单,在build.gradle文件中找到“compile 'com.android.support:appcompat-v7:23.3.0'”,注释掉或删除掉后再clean一下就可以了。

当然这样做的前提是当前项目不需要v7包,比如我做的的快乐贪吃蛇游戏就没有用到,于是就删了。

为什么 Android Studio 工程文件夹占用空间这么大?我们来给它减减肥的更多相关文章

  1. 为什么 Android Studio 工程文件夹占用空间这么大?

    为什么 Android Studio 工程文件夹占用空间这么大? 学习了: https://www.cnblogs.com/chengyujia/p/5791002.html

  2. Android Studio:layout-sw600dp文件夹中创建activity_main.xml

    1.右键res文件夹,新建Android resource directory文件夹 2.在resource type中选择layout  3.将Directory name命名为layout-sw6 ...

  3. 使用TortoiseGit对android studio工程进行代码版本控制

    阅读下列文章时请保证你是否有以下工具: 1.Android Studio 2.TortoiseGit 和 msysGit 安卓工程版本控制哪些文件可以忽略 可以省略的文件如下: 目录 .gradle  ...

  4. Android Studio工程目录介绍

    来自知乎: Android Studio工程目录结构 .gradle 是gradle运行以后生成的缓存文件夹. .idea 是android studio/Intellij IDEA工程打开以后生成的 ...

  5. OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程

    Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南.具体链接为:http://www.cocos.com/doc/article/index?ty ...

  6. Android开发之深入理解Android Studio构建文件build.gradle配置

    摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...

  7. Eclipse转Android Studio工程实践

    Eclipse转Android Studio工程有两种方式, 一种是兼容Eclipse,两者都可以使用,一种是全新的Android Gradle Project. 这里使用的Android Studi ...

  8. Android Studio 工程的 .gitignore

    新建一个 Android Studio 工程时会默认建立两个 .gitignore 文件 .gitignore *.iml .gradle /local.properties /.idea/works ...

  9. Android 项目中文件夹的说明与作用(转)

    (转自:http://blog.csdn.net/goodshot/article/details/11529731) Android 项目中文件夹的作用 1. src:存放所有的*.java源程序. ...

随机推荐

  1. boost强分类器的实现

    boost.cpp文件下: bool CvCascadeBoost::train( const CvFeatureEvaluator* _featureEvaluator, int _numSampl ...

  2. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  3. ASP.NET Core 1.1.0 Release Notes

    ASP.NET Core 1.1.0 Release Notes We are pleased to announce the release of ASP.NET Core 1.1.0! Antif ...

  4. HashSet HashTable 与 TreeSet

    HashSet<T>类 HashSet<T>类主要是设计用来做高性能集运算的,例如对两个集合求交集.并集.差集等.集合中包含一组不重复出现且无特性顺序的元素. HashSet& ...

  5. 【.net 深呼吸】启动一个进程并实时获取状态信息

    地球人和火星人都知道,Process类既可以获取正在运行的进程,也可以启动一个新的进程.在79.77%应用场合,我们只需要让目标进程顺利启动就完事了,至于它执行了啥,有没有出错,啥时候退出就不管了. ...

  6. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  7. java观察者模式

      像activeMQ等消息队列中,我们经常会使用发布订阅模式,但是你有没有想过,客户端时如何及时得到订阅的主题的信息?其实就里就用到了观察者模式.在软件系统中,当一个对象的行为依赖于另一个对象的状态 ...

  8. 去IOE的一点反对意见以及其他

    某天在机场听见两老板在聊天,说到他们目前销售的报表老跟不上的问题,说要请一个人,专门合并和分析一些发过来的excel表格,我真想冲上去说,老板,你需要的是一个信息处理的系统,你需要咨询么.回来一直耿耿 ...

  9. Android开发学习——动画

    帧动画> 一张张图片不断的切换,形成动画效果* 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长              ...

  10. Mach-O 的动态链接(Lazy Bind 机制)

    ➠更多技术干货请戳:听云博客 动态链接 要解决空间浪费和更新困难这两个问题最简单的方法就是把程序的模块相互分割开来,形成独立的文件,而不再将它们静态的链接在一起.简单地讲,就是不对那些组成程序的目标文 ...