博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gradle Build速度加快方法汇总
阅读量:6932 次
发布时间:2019-06-27

本文共 3928 字,大约阅读时间需要 13 分钟。

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, 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」按钮关闭重新打开即可。如下图:

 

 

转载于:https://www.cnblogs.com/kenshinobiy/p/9190854.html

你可能感兴趣的文章
shell-变量的数值计算
查看>>
php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
查看>>
centos6.8安装 gitlab 9.3.5及使用
查看>>
字符转换指令tr,col,expand
查看>>
Egret之位图字体
查看>>
python安装MySQLdb出错解决方案
查看>>
Unable to find remote helper for 'https'解决办法
查看>>
kvm使用详解
查看>>
javascript的正则表达式
查看>>
zabbix3.2.6.1升级3.4.4图文心得
查看>>
PL/SQL子程序
查看>>
Unix/Linux shell脚本中 “set -e” 的作用
查看>>
802.1x------2
查看>>
如何实现1像素的表格
查看>>
Namenode主备切换或报 IPC Server handler 23 on 8020
查看>>
从“上云”到“云管理”,中国首个多云管理平台评估标准有何妙处
查看>>
路由协议OSPF知识点汇总
查看>>
如何定制视频业务- ramdisk 内存文件系统
查看>>
git
查看>>
SHELL简单脚本编写
查看>>