偶然中发现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. setTimeout 的黑魔法

    setTimeout,前端工程师必定会打交道的一个函数.它看上去非常的简单,朴实.有着一个很不平凡的名字--定时器.让年少的我天真的以为自己可以操纵未来.却不知朴实之中隐含着惊天大密.我还记得我第一次 ...

  2. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

  3. Ajax 概念 分析 举例

    Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...

  4. UIViewController生命周期-完整版

    一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load   (NSObje ...

  5. Android总结之链式调用(方法链)

    前言: 最近在学习总结Android属性动画的时候,发现Android的属性动画设计采用了链式调用的方式,然后又回顾了一下了以前接触的开源框架Glide也是采用链式调用的方式,还有最近火的一塌糊涂的R ...

  6. submit text3常用快捷键

    在网上找了一些submit text的快捷键: Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的 ...

  7. PHP类和对象之重载

    PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的.属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值.读取.判断属性是否设置.销毁属性. ...

  8. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  9. 代码的坏味道(21)——中间人(Middle Man)

    坏味道--中间人(Middle Man) 特征 如果一个类的作用仅仅是指向另一个类的委托,为什么要存在呢? 问题原因 对象的基本特征之一就是封装:对外部世界隐藏其内部细节.封装往往伴随委托.但是人们可 ...

  10. C# 工厂模式+虚方法(接口、抽象方法)实现多态

    面向对象语言的三大特征之一就是多态,听起来多态比较抽象,简而言之就是同一行为针对不同对象得到不同的结果,同一对象,在不同的环境下得到不同的状态. 实例说明: 业务需求:实现一个打开文件的控制台程序的d ...