Android Studio的Gradle的加速
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的加速相关推荐
- mac下Android studio配置gradle的路径
2019独角兽企业重金招聘Python工程师标准>>> 最详细的mac下Android studio配置gradle的路径 转载于:https://my.oschina.net/sh ...
- 利用 Android Studio 和 Gradle 打包多版本APK
视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html ==================================== ...
- Android开发:Android Studio中gradle的代理问题
项目启动报错: If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle ...
- android studio的 gradle 依赖同步错误解决方法
android studio的 gradle 依赖同步错误解决方法 参考文章: (1)android studio的 gradle 依赖同步错误解决方法 (2)https://www.cnblogs. ...
- 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 ...
- 关于修改android studio的gradle目录
关于修改android studio的gradle目录 转载于:https://www.cnblogs.com/zhujiabin/p/5021026.html
- android studio try again,完美解决Android Studio在gradle上的各种问题
原标题:完美解决Android Studio在gradle上的各种问题 题记: 看到很多人都来读这篇文章,说明很多人都有遇到这个问题,文章质量不是很高,感觉我自己都有些看不懂了,因此来更新一下,希望可 ...
- Android Studio配置gradle时或导入别人项目时提示Could not find com.android.tools.build:gradle
Android Studio配置gradle时或导入别人项目时提示Could not find com.android.tools.build:gradle 配置完环境变量后,cmd运行 gradle ...
- android studio安装GRADLE下载慢的问题
环境: ubuntu 16.04 LTS 64 android studio 4.0.1 工程gradle 6.1.1 现象 可能是网络原因,也可能是其它种种的你懂的原因. 致使android stu ...
- Android studio右侧Gradle窗口显示 nothing to show
Android studio右侧Gradle窗口显示 nothing to show 前言 解决方法 完事 前言 今天在测试开发SDK的时候,玩了几次打包后,发现Android studio右侧Gra ...
最新文章
- Linxu终端gcc与gcc -c的区别
- Pycharm 建立工程,包含多个工程目录
- PHP通过Thrift操作Hbase
- 用matplotlib显示一下MNIST数据集中手写数字的真实面目
- Boost:标准地图比较的测试程序
- Luy 1.0 :一个React-like轮子的诞生
- Power Designer介绍
- java用户界面项目_结对项目(带图型用户界面)Java实现【柴政-陈起廷】
- python常规异常的基类_Python警告的基类警告类是____。
- Protecting the Flowers(POJ-3262)
- C#LeetCode刷题之#622-设计循环队列​​​​​​​(Design Circular Queue)
- 计蒜客挑战难题:简单斐波那契
- ae 创建图像等高线 蒙版_UI设计教程:几步教你如何创建一个漂亮又好吃的饼干...
- 过程FMEA步骤三:功能分析
- Discuz搜索模块解析
- Android安装步骤
- 硬件配置部分——从无到有自主搭建视觉惯性VI-SLAM(vins-mono)平台
- pandas级联与合并
- tiny6410刷机教程
- IDM下载器最新稳定版本6.33.2
热门文章
- zebra代码简单分析 --- 001
- “Ceph浅析”系列之二——Ceph概况
- PHP下添加PDO_Pgsql扩展
- opencv历史代码下载
- linux多CPU进程负载均衡解析
- python使用redis做缓存_Python的Flask框架使用Redis做数据缓存的配置方法
- 欧拉函数、欧拉定理、费马小定理(附例题)
- mllib逻辑回归LogisticRegressionWithLBFGS LogisticRegressionModel源码分析
- 宁波大学计算机专硕分数线,2019宁波大学研究生分数线汇总(含2016-2019历年复试)...
- dotween曲线运动 unity_Unity3D DOTween动画插件详解