Gradle Build速度加快方法汇总
Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradle-->Build Tools下的Gradle选项,右侧Gradle VM options-->改参数-Xmx2048m -XX:MaxPermSize=512m
还一种就是在gradle.properites里加两行
org.gradle.parallel=true
org.gradle.daemon=true
以上真的有提升么。我也不清楚,反正build的速度还在3分钟上下,这是完全不能接受的,build一次能下一部高清AV,硬盘都快满了,又要加硬盘了,这个月的伙食质量要下降了,要瘦出8块腹肌了....
好吧,以上都是废话,怎么以闪电般的速度Build呢,设置离线编译就OK了,like this:

这才叫提升,OK?
gradle更换仓库 解决下载速度慢问题
如果项目里的maven 仓库地址比较慢,一般默认是访问主仓库,所以比较慢,换用国内的仓库就好了,推荐换用阿里云的仓库地址
方法一:
这种方法只对当前项目有效
将build.gralde
repositories {
mavenCentral()
}
换成
allprojects {
repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
方法二:
这种解决方法是对所有项目生效的
在gradle目录里,新建一个文件init.gradle将以下代码段粘贴进去。
一般来说,这里的gradle目录 默认是:C:\Users\用户名.gradle ,
当然你也可以自己指定,需要不过需要建立一个环境变量GRADLE_USER_HOME,并且重启计算机。
比如
GRADLE_USER_HOME = D:\java\gradle

访问的是阿里云的服务器,速度还是蛮快的
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
def url = repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com'))) {
project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'
remove repo
}
}
maven {
url REPOSITORY_URL
}
}
}
当然如果你发现了,更好的maven仓库地址,你也可以将以上的阿里云的服务器地址换成你想要的地址。
作者:bsqql123
链接:https://www.jianshu.com/p/ac4b7302200b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
加快gradle的编译速度总结-亲身经历
说明
刚进公司,由于公司准备新地方,所以电脑不够用,先用自己的电脑开发。然后配置环境,AS运行新项目,第一次大概花了20多分钟,等得蛋都碎了一地。以为接下来会没事,鬼知道第二次还是10多分钟,我直接疯掉。然后网上查了下资料,总结了一些笔记,分享给大家。
参考网站
参考步骤
第一步:配置.gradle文件夹目录(开启Gradle单独守护线程)
在windows系统的C:\Users\用户名\.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 启用新的孵化模式
还可以在当前项目中的gradle.properties文件中添加以上内容,则只会在当前项目生效
第二步:修改android studio配置
Ctrl+Alt+S打开设置选项卡,找到Gradle选项,选中offline work,点击apply,如下
gradle选项配置找到Compiler选项,设置如下
compiler选项配置设置网络代理,增加访问网络速度,具体请参考提供的网站
在具体开发module的build.gradle文件中添加
dexOptions {
//使用增量模式构建
incremental true
//最大堆内存
javaMaxHeapSize "8g"
//是否支持大工程模式
jumboMode = true
//预编译
preDexLibraries = true
//线程数
threadCount = 8
}
第三步:如果编译还是很慢的话,那就只能添加内容条和固态硬盘了
另一种神速编译方式,使用命令行脚本的方式编译
第一步:在目标项目的根节点下创建文件c.bat(名字尽量短) -->构建脚本,内容如下:
@Echo Off if /i "%1"=="" goto :default
if /i "%1"=="i" goto :install
if /i "%1"=="u" goto :uninstall ::执行实际的命令
goto :raw ::无参数情况下的默认执行命令
:default
gradlew iD
goto :eof ::实际命令
:raw
gradlew %1
goto :eof ::安装所有Debug版本的APK
:install
gradlew iD
goto :eof ::卸载所有版本的APK
:uninstall
gradlew uA
goto :eof
第二步:在AS控制台的命令行Terminal窗口输入刚才的文件名,然后回车就好了,编译成功,然后打开应用
这种方式好像是会更快一些,而且不会导入整个电脑的卡顿,总的来说这种方法应该值得推荐。
总结:经过以上的配置之后,我的编译速度快了一些,但是还是很漫长需要2-3分钟,我估计是电脑的原因,该换配置了
作者:笑说余生
链接:https://www.jianshu.com/p/200d55b4d40a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
android sdk manager设置国内镜像快速下载sdk
万恶的GFW,Android sdk manager通过google的url下载sdk卡成翔了,在网上找了几个国内镜像,亲测可用。
Android SDK在线更新镜像服务器:
中国科学院开源协会镜像站地址:
IPV4/IPV6: http://mirrors.opencas.cn 端口:80
IPV4/IPV6: http://mirrors.opencas.org 端口:80
IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80
上海GDG镜像服务器地址:
http://sdk.gdgshanghai.com 端口:8000
北京化工大学镜像服务器地址:
IPv4: http://ubuntu.buct.edu.cn/ 端口:80
IPv4: http://ubuntu.buct.cn/ 端口:80
IPv6: http://ubuntu.buct6.edu.cn/ 端口:80
大连东软信息学院镜像服务器地址:
http://mirrors.neusoft.edu.cn 端口:80
使用 Android SDK Manager下载sdk时 ,打开主界面,选择「Tools」、「Options」,弹出『Android SDK Manager - Settings』窗口:
在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入 mirrors.neusoft.edu.cn 和 80,并且选中「Force
https://…sources to be fetched using http://…」复选框。
设置完成后单击「Close」按钮关闭重新打开即可。如下图:

Gradle Build速度加快方法汇总的更多相关文章
- android studio Gradle Build速度加快方法
设置离线编译就可以解决这个问题了.如下图所示:
- Gradle Build速度加快终极方法(android studio)
Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradl ...
- 加快AS的Gradle Build速度
随着项目的代码以及依赖库的日益增多,构建的速度却是越来越慢,Android Studio2.0 之后提供了Instant Run貌似福利来了,但经过一段时间的使用发现不尽如人意,最大的吐槽点是首次编译 ...
- Linux 下测试磁盘读写 I/O 速度的方法汇总
在分布式异构存储系统中,我们经常会需要测量获取不同节点中硬盘/磁盘的读写 I/O 速度,下面是 Linux 系统下一些常用测试方法(之后不定期更新): 1.使用 hdparm 命令这是一个是用来获取A ...
- 记——加快gradle 构建速度的经验
Gradle作为一个新的构建系统,无疑在灵活,扩展,跨平台等各方面都表现得非常优秀,然而,它也有一点备受吐槽,就是速度慢.以下为本人使用gradle过程中,几次加快gradle构建速度的经验之谈. 本 ...
- 加速Android Studio的Gradle构建速度
在利用Android Studio做项目时,发现随着项目内资源的逐渐增多(或者项目创建时间太过久远,而又未经常打开),Android Studio的build速度也越来越慢.(P.S.在做我的CSGO ...
- android studio 一直卡在Gradle:Build Running的解决办法
转:android studio 一直卡在Gradle:Build Running的解决办法 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...
- 转:android studio 一直卡在Gradle:Build Running的解决办法
在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,解决方法如下: 方法1: 1.在C:\User\<用户名>\.gradle 目录 ...
- Android提升Gradle编译速度或减少Gradle编译时间.md
目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties ...
随机推荐
- Linux Shell脚本编程
⒈为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理 2)对于JavaEE和Python程序员来说,有些工作需要编写一些Shell脚本进 ...
- (转载)深度学习的weight initialization
本文转自:谷歌工程师:聊一聊深度学习的weight initialization TLDR (or the take-away) Weight Initialization matters!!! 深度 ...
- Java的static类
首先Java的static类只能是静态内部类.如果在外部类声明为static,程序会编译通不过. 其次,主要了解下static内部类与普通内部类的区别是什么,以及static内部类的作用是什么,详见下 ...
- 休眠与开机自动运行等VC代码
//根据文件句柄,获取文件名 #include <windows.h> #include <stdio.h> #include <tchar.h> #include ...
- 【转】HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景极其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出 ...
- SharePoint 2016: 数据库正在兼容性范围内运行,建议进行升级
问题描述: SharePoint 运行状况分析器提示: 中文:数据库正在兼容性范围内运行,建议进行升级. 英文:Database running in compatibility range and ...
- spring3.1 profile 配置不同的环境
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- Light OJ 1078
题意: 给你 N,K 输出 KKKK.....KK能整除 N, 输出 K 的个数, (最小) 基础数学, 取摸运算即可. #include<bits/stdc++.h> using nam ...
- [转]GitHub上优秀的Go开源项目
转载于GitHub上优秀的Go开源项目 正文 近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用.技巧 ...
- Hystrix浅谈
Hystrix如何使用很多说明,看了很多博客,却发现能说明一些简单概念的文章就没有. 所以本文不太回去说如何使用 Hystrix ,但是会简明的说一下 一些概念 super(Setter.withGr ...

