Gradle Build速度加快方法汇总

Posted kenshinobiy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:javagradle
 
技术分享图片
配置环境变量

访问的是阿里云的服务器,速度还是蛮快的

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速度加快方法汇总的主要内容,如果未能解决你的问题,请参考以下文章

加快AS的Gradle Build速度

有啥办法能加快Android Studio中Gradle build速度

有啥办法能加快Android Studio中Gradle build速度

更改gradle中央仓库,加快访问速度

修改gradle中央仓库,加快jar包下载速度

Android studio加快编译速度