###gradle是什么
Gradle是一个基于Ant(Apache)和Maven(Ant)概念的项目自动化构建工具。他使用的语言是Groovy的特定领域语言(小语言即该语言不通用,只能用于特定的某个领域)来声明项目设置。在通俗一点解释就是软件开发的时候会用到一些第三方依赖的东西,同时版本发布的时候会打包、部署。在遇到一些特殊需求的时候,需要不同渠道等管理。如果我们不使用构建,单纯的人工来做这个事,就各种build,各种clean等等。这个时候使用构建的话,就大大减少了工作的流程和劳动力成本。
一个Android项目中gradle相关文件
如上图所示,红的部分的是一个项目中基本的gradle相关文件(我没有加入module)。这些文件在项目中的位置如下:
每一个文件说明
setting.gradle
include ':app'
声明包含了项目中的module,因为没有添加别的module,所以这里面只有一个app(app也是一个module,只不过是application级别的)。
gradle.properties
在项目根目录下,内容如下:
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# 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
###################################################
############# gradle 优化(确实快了不少) #############
###################################################
# 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 Gdradle.
# 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.