1、安装

1.1、Gradle作为AS的默认构建工具会被一并安装。

1.2、官网下载安装包:https://gradle.org/releases/

sudo mkdir /opt/gradle
sudo unzip -d /opt/gradle gradle-7.4-all.zip

vim /etc/bash.bashrc
--------------------------------------------------
#Gradle
export GRADLE_HOME=/opt/gradle/gradle-7.4
export PATH=$PATH:$GRADLE_HOME/bin
--------------------------------------------------

# 查看版本
gradle -v

10、gradle build tool & gradle版本对应关系

参考链接
gradle build tool & gradle对应关系.png

11、Gradle Wrapper更改gradle版本

1、gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

2、rootProject->build.gradle
classpath 'com.android.tools.build:gradle:3.6.4'

80、gradle配置国内阿里云镜像

选择一:项目级配置

vim rootProject->build.gradle
--------------------------------------------------
buildscript {
    repositories {
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
        maven {
            url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        }
    }
}

allprojects {
    repositories {
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
        maven {
            url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        }
    }
}
--------------------------------------------------

选择二:全局配置,项目中正常引入即可,全局配置中会根据全局配置进行替换

vim ~/.gradle/init.gradle
--------------------------------------------------
allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'
        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/'
        def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/'
        def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
                if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
                    remove repo
                }
                if (url.startsWith('https://plugins.gradle.org/m2/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."
                    remove repo
                }
            }
        }
        maven { url ALIYUN_REPOSITORY_URL }
        maven { url ALIYUN_JCENTER_URL }
        maven { url ALIYUN_GOOGLE_URL }
        maven { url ALIYUN_GRADLE_PLUGIN_URL }
    }
}
--------------------------------------------------

99、历史

教程链接1
Gradle是一种自动化构建语言,是一种DSL(Domain Specific Language 领域特定语言),是一个编程框架。

DSL 通过在表达能力上做的妥协换取在某一领域内的高效:

  • 以极其高效的方式描述特定领域的对象、规则和运行方式的语言。
  • 需要有特定的解释器与其配合。
  • 高效简洁的领域语言,与GPL(General Purpose Language 通用编程语言)相比能极大降级理解和使用难度,极大提高开发效率。
  • 能够描述特定领域的世界观和方法论的语言。
    DSL参考链接

Q.E.D.


行走在天地间自由的灵魂