为什么 Android Studio 工程文件夹占用空间这么大?我们来给它减减肥
偶然中发现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 工程文件夹占用空间这么大?我们来给它减减肥的更多相关文章
- 为什么 Android Studio 工程文件夹占用空间这么大?
为什么 Android Studio 工程文件夹占用空间这么大? 学习了: https://www.cnblogs.com/chengyujia/p/5791002.html
- Android Studio:layout-sw600dp文件夹中创建activity_main.xml
1.右键res文件夹,新建Android resource directory文件夹 2.在resource type中选择layout 3.将Directory name命名为layout-sw6 ...
- 使用TortoiseGit对android studio工程进行代码版本控制
阅读下列文章时请保证你是否有以下工具: 1.Android Studio 2.TortoiseGit 和 msysGit 安卓工程版本控制哪些文件可以忽略 可以省略的文件如下: 目录 .gradle ...
- Android Studio工程目录介绍
来自知乎: Android Studio工程目录结构 .gradle 是gradle运行以后生成的缓存文件夹. .idea 是android studio/Intellij IDEA工程打开以后生成的 ...
- 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 ...
- Android开发之深入理解Android Studio构建文件build.gradle配置
摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...
- Eclipse转Android Studio工程实践
Eclipse转Android Studio工程有两种方式, 一种是兼容Eclipse,两者都可以使用,一种是全新的Android Gradle Project. 这里使用的Android Studi ...
- Android Studio 工程的 .gitignore
新建一个 Android Studio 工程时会默认建立两个 .gitignore 文件 .gitignore *.iml .gradle /local.properties /.idea/works ...
- Android 项目中文件夹的说明与作用(转)
(转自:http://blog.csdn.net/goodshot/article/details/11529731) Android 项目中文件夹的作用 1. src:存放所有的*.java源程序. ...
随机推荐
- ABP文档 - 目录
ABP框架 概览 介绍 多层结构 模块系统 启动配置 多租户 集成OWIN 共同结构 依赖注入 会话 缓存 日志 设置管理 时间 领域层 实体 值对象(新) 仓储 领域服务 工作单元 领域事件(Eve ...
- Node.js:OS模块
os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...
- CRL快速开发框架系列教程七(使用事务)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Javascript 代理模式模拟一个文件同步功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- the Zen of Python---转载版
摘自译文学习区 http://article.yeeyan.org/view/legendsland/154430 The Zen of Python Python 之禅 Beautiful is b ...
- Android开发学习——动画
帧动画> 一张张图片不断的切换,形成动画效果* 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长 ...
- MongoDB学习笔记~对集合属性的操作
回到目录 $unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$ ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- Spring代理模式及AOP基本术语
一.代理模式: 静态代理.动态代理 动态代理和静态代理区别?? 解析:静态代理需要手工编写代理类,代理类引用被代理对象. 动态代理是在内存中构建的,不需要手动编写代理类 代理的目的:是为了在原有的方法 ...
- linux系统下基于mono部署asp.net,使用ef6与mysql出现的问题【索引】
git clone github.com/mono的源码,日期:2014-06-19,百度网盘链接:http://pan.baidu.com/s/1kTG9EUb 关于asp.net利用mono部署到 ...