美文网首页小技巧Android开发进阶安卓知识
加快gradle的编译速度总结-亲身经历

加快gradle的编译速度总结-亲身经历

作者: 笑说余生 | 来源:发表于2016-12-10 10:36 被阅读11407次

说明

刚进公司,由于公司准备新地方,所以电脑不够用,先用自己的电脑开发。然后配置环境,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分钟,我估计是电脑的原因,该换配置了

相关文章

网友评论

  • 小夫哥:感谢
  • BeFreeLancer:为什么gradle配置稍微改动下,如改版本号,buildConfigField配置的值,都要重新下载一波引入的线上库?这个有什么配置可以避免吗? 依赖的线上库也没改变没必要每次都要重新加载一波。 大神有什么好方法?
  • 幸福_北极熊:想问问,compiler选项配置这个选项,2018.1版本对于的页面不一样,没有你图片显示的设置。请教2018.1版本如何设置?
    笑说余生:@幸福_北极熊 gradle 3.0以上将compile改为implement了
  • shushu516:设置了果然编译快多了,之前快点两分钟慢点遥遥无期,现在几十秒搞定:+1:
  • rekcah1986:很好很尿兴~~
  • 文淑:命令行脚本的方式编译,没起作用????
  • 糖兜兜兜:Win10+固态硬盘 你值得拥有 放弃在设置上折腾了
    NIOAG37M:@沉默寡言若有所思 windows10,16G内存,256G固态,处理器弱,第六代i5,稍微改动几行代码,需要9分钟左右。听云注入需要1分钟,内部gradle插件注入代码1.5分钟,6个左右module,还不能用instant run,项目集成了tinker,和instant run有冲突。头疼死了!
    沉默寡言若有所思:Win10+固态硬盘 依然慢
    笑说余生: @大恺也喜欢被喊徐导 厉害了👍
  • ChongmingLiu:666很实用
  • 凌空御风:freeline 你值得拥有😀
    wan7451: @凌空御风 厉害👍
    凌空御风:@敲代码的大圣 github开源了
    笑说余生: @凌空御风 freeline现在只有蚂蚁内部使用吧,不过优化的确实厉害

本文标题:加快gradle的编译速度总结-亲身经历

本文链接:https://www.haomeiwen.com/subject/lknymttx.html