1、背景

现在基本上都使用Android Studio 来开发,使用Gradle 构建项目,Gradle 的种种优点,多渠道打包方便,依赖类库统一管理,基于Groovy 的DSL 语言简洁方便。这些好处在我们开发省了我们不少事,但是唯一的问题就是编译构建运行的时候特别慢,甚至是致命的,最后发现加班的时间都浪费在编译构建上。

2、使用加速

下面有几个技巧,让你你的Android Gradle 运行,编译更加快速。
①、设置代理

因为依赖要从Jcenter/Maven 仓库上下载,但是网络还是时不时地抽风。如果你使用VPN 或者全局代码可以从本地网络配置,就不需要在Android Studio 配置了(好像并没有什么用?)。给Gradle 设置代码需要在根目录的gradle.properties 配置。

 1. // 举例ShadowSocket2. systemProp.http.proxyHost=127.0.0.13. systemProp.http.proxyPort=10804. systemProp.https.proxyHost=127.0.0.15. systemProp.https.proxyPort=1080

如果你用ShadowSocket,记得在本地开启。如果你使用其他代理软件,也类似,会有主机和端口。

②、更新gradle,设置为离线使用
Android Studio 的版本一般都跟随着Gradle 的版本,在安装目录的根目录有个gradle 目录,就是最新版,我们可以在设置中打开Gradle,选择Use local gradle distribution,然后选择Gradle 的目录即可,这样就不会每次根据项目中./gradle/xxx 中的gradle 版本每次再下载。理论上Gradle 的版本越新构建运行越快,也只是理论上,所以推荐稳定版的版本。

如果需要使用命令行编译,可以配置–daemon –parallel –offline。

③、守护进程,并行编译
在项目的根目录中有一个gradle.properties 文件

主要为这几个:
参考:https://docs.gradle.org/current/userguide/build_environment.html

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -D
file.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

gradle.properties 内容如下:

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true

org.gradle.daemon=true 就是让你让你编译时使用守护进程。

org.gradle.parallel=true 使用并行编译

org.gradle.jvmargs=-Xmx2048m JVM最大允许分配的堆内存,按需分配

-XX:MaxPermSize=512m JVM最大允许分配的非堆内存,按需分配

当然你也可以在下面的目录下面创建gradle.properties ,来配置全局的属性,在所有的项目中起作用。

/home//.gradle/ (Linux)
/Users//.gradle/ (Mac)
C:\Users\.gradle (Windows)

当然也可以修改xxx\android studio 安装目录\bin\studio64.exe.vmoptions 文件来配置JVM 的相关的参数。

④、dexOptions

1 classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
1 # Default value: -Xmx10248m -XX:MaxPermSize=256m
2 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m
dexOptions {preDexLibraries truejavaMaxHeapSize "3g"incremental truedexInProcess = true
}

这里是参考stackoverflow 上的,好像有Bug,作者本人试了Android gradle 的版本至少是2.0.0-alpha9,然后配置一些参数。这里为JVM 设置4G,给Dex 设置3G。

Android Studio的Gradle的加速相关推荐

  1. mac下Android studio配置gradle的路径

    2019独角兽企业重金招聘Python工程师标准>>> 最详细的mac下Android studio配置gradle的路径 转载于:https://my.oschina.net/sh ...

  2. 利用 Android Studio 和 Gradle 打包多版本APK

    视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html ==================================== ...

  3. Android开发:Android Studio中gradle的代理问题

    项目启动报错: If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle ...

  4. android studio的 gradle 依赖同步错误解决方法

    android studio的 gradle 依赖同步错误解决方法 参考文章: (1)android studio的 gradle 依赖同步错误解决方法 (2)https://www.cnblogs. ...

  5. Android Studio and Gradle are using different locations for the JDK

    错误提示如下: Android Studio and Gradle are using different locations for the JDK. Android Studio: D:\Andr ...

  6. 关于修改android studio的gradle目录

    关于修改android studio的gradle目录 转载于:https://www.cnblogs.com/zhujiabin/p/5021026.html

  7. android studio try again,完美解决Android Studio在gradle上的各种问题

    原标题:完美解决Android Studio在gradle上的各种问题 题记: 看到很多人都来读这篇文章,说明很多人都有遇到这个问题,文章质量不是很高,感觉我自己都有些看不懂了,因此来更新一下,希望可 ...

  8. Android Studio配置gradle时或导入别人项目时提示Could not find com.android.tools.build:gradle

    Android Studio配置gradle时或导入别人项目时提示Could not find com.android.tools.build:gradle 配置完环境变量后,cmd运行 gradle ...

  9. android studio安装GRADLE下载慢的问题

    环境: ubuntu 16.04 LTS 64 android studio 4.0.1 工程gradle 6.1.1 现象 可能是网络原因,也可能是其它种种的你懂的原因. 致使android stu ...

  10. Android studio右侧Gradle窗口显示 nothing to show

    Android studio右侧Gradle窗口显示 nothing to show 前言 解决方法 完事 前言 今天在测试开发SDK的时候,玩了几次打包后,发现Android studio右侧Gra ...

最新文章

  1. Linxu终端gcc与gcc -c的区别
  2. Pycharm 建立工程,包含多个工程目录
  3. PHP通过Thrift操作Hbase
  4. 用matplotlib显示一下MNIST数据集中手写数字的真实面目
  5. Boost:标准地图比较的测试程序
  6. Luy 1.0 :一个React-like轮子的诞生
  7. Power Designer介绍
  8. java用户界面项目_结对项目(带图型用户界面)Java实现【柴政-陈起廷】
  9. python常规异常的基类_Python警告的基类警告类是____。
  10. Protecting the Flowers(POJ-3262)
  11. C#LeetCode刷题之#622-设计循环队列​​​​​​​(Design Circular Queue)
  12. 计蒜客挑战难题:简单斐波那契
  13. ae 创建图像等高线 蒙版_UI设计教程:几步教你如何创建一个漂亮又好吃的饼干...
  14. 过程FMEA步骤三:功能分析
  15. Discuz搜索模块解析
  16. Android安装步骤
  17. 硬件配置部分——从无到有自主搭建视觉惯性VI-SLAM(vins-mono)平台
  18. pandas级联与合并
  19. tiny6410刷机教程
  20. IDM下载器最新稳定版本6.33.2

热门文章

  1. zebra代码简单分析 --- 001
  2. “Ceph浅析”系列之二——Ceph概况
  3. PHP下添加PDO_Pgsql扩展
  4. opencv历史代码下载
  5. linux多CPU进程负载均衡解析
  6. python使用redis做缓存_Python的Flask框架使用Redis做数据缓存的配置方法
  7. 欧拉函数、欧拉定理、费马小定理(附例题)
  8. mllib逻辑回归LogisticRegressionWithLBFGS LogisticRegressionModel源码分析
  9. 宁波大学计算机专硕分数线,2019宁波大学研究生分数线汇总(含2016-2019历年复试)...
  10. dotween曲线运动 unity_Unity3D DOTween动画插件详解