加速Android Studio/Gradle构建
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。
开启gradle单独的守护进程
在下面的目录下面创建gradle.properties
文件:
/home/<username>/.gradle/
(Linux)/Users/<username>/.gradle/
(Mac)C:\Users\<username>\.gradle
(Windows)
并在文件中增加:
1 |
org.gradle.daemon=true |
同时修改项目下的gradle.properties
文件也可以优化:
1 |
# Project-wide Gradle settings. # IDE (e.g. Android Studio) users: |
同时上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。
上面的配置文件主要就是做, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。
修改android studio配置
在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段一样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。
命令行构建
基于上面的配置,命令行构建时在命令后面加上这个参数即可 --daemon --parallel --offline
。
引入依赖库时使用aar
使用网上第三方的依赖库时尽量使用aar,可以在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。
自己的库模块也可以打包成aar,关于这个可以参考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/。
后记
经过这样一番折腾,我原来需要4,5分钟才能构建完成的项目,现在只需要30秒左右就可以构建完成了。当然了,如果你这样还是不可以的话,那么,你应该换电脑了,ssd的硬盘,更大的内存,必须的上了。
另外
&amp;lt;img src="https://pic1.zhimg.com/cf19ab821dbfa741acdab940e165bc30_b.jpg" data-rawwidth="570" data-rawheight="366" class="origin_image zh-lightbox-thumb" width="570" data-original="https://pic1.zhimg.com/cf19ab821dbfa741acdab940e165bc30_r.jpg"&amp;gt;
我的值
-Xms512m
-Xmx2048m
-XX:MaxPermSize=768m
-XX:ReservedCodeCacheSize=768m
-XX:+UseCompressedOops
Android stuido作为google主推的IDE,配合gradle编译,有很多的优点和便捷性。唯一使用过程中不舒服的地方就是莫名其妙的卡顿,经常在coding的时候卡死,非常无语,不知道是不是我的机器也比较烂,总之IDE优化还需要google加油。以及非常慢的编译速度。尝试了很多优化方案,将我的发现和大家分享一下。
以PC 端为例,MAC大同小异
1.申请大内存
installation path\studio64.exe.vmoptions or studio.exe.vmoptions
使用文本编辑器打开,找到起始两行,如下
-Xms128m
-Xmx750m
修改最小值和最大值,建议为
-Xms256m
-Xmx2048m
2 优化编译
a:
file->setting->compile
勾选除第二项之外的其他选项,并在VM options里填入:
-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
b:
C:\Users\yourname\.gradle
用文本编辑器打开gradle.properties,编辑内容如下:
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
经过测试,编译速度有很大提升,比较大的项目从之前的5-8分钟可以减少到1-2分钟。
一、将用不到的插件全部禁用掉,方法如下:
启动你的 Android Studio,然后选择菜单 File -> Settings... 以打开配置界面,然后在左侧 IDE Settings 栏位里找到 Plugins 配置项,
此时右侧出现相应的插件选项,把用不到的选项勾选去掉即可,例如:CVS Integration、Git Integration、GitHub、Google Cloud Tools
For Android Studio、Google Login、Python、Subversion Integration、TestNG-J 等。勾选好后单击右下方的 Apply 按钮以便使你的配置
生效,最后按提示重启 Android Studio 即可。(这样配置后,你的 Studio 速度至少成倍提升!!)
二、为 Gradle 提速,方法就是让 Gradle 使用 daemon(守护进程)方式进行 build(构建)项目,方法如下:
1、创建一个名为 gradle.properties 的文件到以下目录:
· Windows 7 系统---C:\Users\<username>\.gradle\
· Linux 系统---/home/<username>/.gradle/
· Mac 系统---/Users/<username>/.gradle/
然后在该文件中加入一行配置项如下:
org.gradle.daemon=true
2、让 Gradle 不要老是访问网络,而改用离线方式进行构建,方法如下:
启动你的 Android Studio,然后选择菜单 File -> Settings... 以打开配置界面,然后在左侧 Project Settings [your_project_name] 栏
位里找到 Gradle 配置项,此时右侧出现相应的选项,再找到 Global Gradle settings 下方的 Offline work 选项,把勾选去掉即可。勾选
好后单击右下方的 Apply 按钮以便使你的配置生效,最后按提示重启 Android Studio 即可。(这样配置后,再次构建项目时,速度至少成
倍提升!!)
加速Android Studio/Gradle构建的更多相关文章
- [转]加速Android Studio/Gradle构建
加速Android Studio/Gradle构建 android android studio gradle 已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多, ...
- 优化Android Studio/Gradle构建
使用Android Studio进行开,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这 ...
- Android Studio Gradle构建脚本
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 构建工具就是对你的项目进行 ...
- 优化Android Studio/Gradle构建(转)
参考:http://hm.itheima.com/thread-204217-1-1.html
- 解决Android Studio Gradle Build Running慢的问题
Android Studio方便好用,但是Android Studio Gradle Build Running很慢 解决方法: C:\Users\你的用户名\.gradle 目录下新建一个文件名为 ...
- Android studio gradle 打包 那些事
总结了一下 目前觉得比较好用的gradle 和一些打包 经验.放在这里. 首先说下 渠道号 这个概念,我们经常会统计我们的api 访问来源 是来自于那个app store,这有利于 我们针对性的推广. ...
- 解决Android Studio Gradle Build特别慢的问题
解决Android Studio Gradle Build 特别慢的问题 C:\Users\你的用户名\.gradle目录下新建一个文件名为gradle.properties的文件.内容为:org.g ...
- android studio gradle 两种更新方法更新
android studio gradle 两种更新方法更新 第一种.Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrappergradle-wrapper ...
- android studio gradle 更新方法。
Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrapper gradle-wrapper.properties (只要在打开项目的时候选OK,这个文件就 ...
随机推荐
- [译]GotW #89 Smart Pointers
There's a lot to love about standard smart pointers in general, and unique_ptr in particular. Proble ...
- Java-Swing嵌入浏览器(二)
这是qtjambi利用webview来做嵌入式浏览器,下面是我的工程目录. 运行效果如下图: 代码相关: package qtBowers; import com.trolltech.qt.core. ...
- 细说SQL性能优化
1:在进行多表关联时,多用where语句把单个表的结果集最小化,多用聚合函数汇总结果集后再与其它表做关联,以使结果集数据量最小化2:在两张表进行关联时,应考虑可否使用右连接.以提高查询速度3:使用wh ...
- Nginx+Keepalived 做负载均衡器
1.安装 keepalived 1 2 3 4 5 6 7 8 9 tar zxvf keepalived-XXXX.tar.gz ./configure --prefix=/usr/local/ ...
- 监控Nginx负载均衡器脚本
1.编写脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 vim nginx_pid.sh #!/bin/bash while : do nginxpid=`ps -C ...
- dom操作之开关灯
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/h ...
- BZOJ_1621_[Usaco2008_Open]_Roads_Around_The_Farm_分岔路口(模拟+大水题)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1621\(n\)头奶牛,刚开始在一起,每次分成\(x\)和\(x+m\)两部分,直到不能再分,问 ...
- jquery插件cloud-zoom(放大镜)
效果预览:http://www.helloweba.com/demo/cloud-zoom/ 源代码下载:http://pan.baidu.com/s/1eQnadXo Cloud Zoom是一个图像 ...
- 兼容ie\firefox\chrome的cursor
cursor:hand 与 cursor:pointer 的效果是一样,都像手形光标. 但用FireFox浏览时才注意到使用cursor:hand在FireFox.chorme里并被支持.cursor ...
- SSAS使用MDX生成脱机的多维数据集CUB文件
在运用多维数据进行分析的时候,通常很有可能我们需要把这些多维数据脱机进行处理或演示,这其中就要用到cub文件 http://www.cnblogs.com/yunhuasheng/archive/20 ...