加速Android Studio的Gradle构建速度
2016-02-25 本文已影响22876人
proud2008
在利用Android Studio做项目时,发现随着项目内资源的逐渐增多(或者项目创建时间太过久远,而又未经常打开),Android Studio的build速度也越来越慢。(P.S.在做我的CSGO StatTrak的时候,基本要12分钟,才能build完成,在此期间,一直显示Gradle运行中….)
在互联网上一番搜索后,发现通过以下方法可以加快Gradle的构建速度。
在以下Gradle目录创建gradle.properties文件
C:Users<username>.gradle</code>
并在文件中增加以下数据,然后保存。
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

注意,因为这样配置是对于此计算机的Android Studio用户,所以对于所有项目都有效。
offline
不过最好把Android Studio的配置也改改,打开Android Studio,选择菜单项 File->Settings。
切换到下面的视图:
把 Offline Work打上勾。


最后,保存,并重新打开Android Studio.
不出意外,前面操作都正确的话,你现在Gradle应该有了很大的提升。
我在怎样修改后,每次Gradle构建,只要40秒左右,比以前的12分钟,快多了。

生成profile报告,分析慢的原因,

http://liaohuqiu.net/posts/speed-up-your-build/ 讲了慢分析原因
升级beta5版本,使用instant run会快些
android studio 下载地址官方,翻墙
http://tools.android.com/download/studio/
首先要升级到Android Studio 2.0
目前Android Studio的2.0版本还在Canary Channel
(金丝雀) 上面,所以想体验2.0的同学需要先把升级版本切换到Canary Channel 上面。
Preferences -> System Settings ->Updates
可以切换升级版本
然后check for updates
就可以升级了。(如果连接不上升级服务器,请墙一下)
升级android tools build
instant run
功能之后再android tools build
的2.0.0
的版本才可以使用。需要在build.gradle
中指定
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha1' }}
设置instant Run
Preferences -> Build,Execution,Deployment -> Instant Run
第一个设置是,是否开启Instant Run的,默认是开启。
第二个是,当代码变动的时候重启activity(亲测没有效果,不知道是不是还不是太完善)
第三个是,每次变动的时候都有个toast提示下(我选择关闭了)
运行Instant Run
再没有运行项目的时候,我们的Run图标和以前是一样的。
运行了项目之后的图标是这样的:
运行之后的Dialog框是这样的,和debug的时候一样多了个Stop的按钮
再改完代码之后直接点击Run按钮就可以立刻
就能在你的设备上面看到效果。
目前还是有一些小的问题,偶尔还是会出现build ->run到设备的方式,期待Google尽快的把instant Run做的更加完善,也期望AS2.0的正式版本。另外google说优化了虚拟机部分,性能提高了50
倍,是不是可以抛弃Genymotion了?