【Android Studio】gradle文件、配置、版本下载、国内源(SDK版本、gradle版本以及gradle-plugin(AGP)版本)


Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的自动化构建工具,它使用一种基于 Groovy 的特定领域语言(DSL)来声明项目设置,而不是传统的 XML。Gradle 提供了更灵活和强大的方式来构建、测试、打包和部署应用程序,它支持多种编程语言和平台,包括 Java、Kotlin、Groovy、Android、C/C++ 等。
Gradle 的优势

  • 灵活性:Gradle 允许你以编程方式定义构建逻辑,这提供了比传统 XML 配置更高的灵活性。
  • 性能:Gradle 使用守护进程和增量构建来加速构建过程。
  • 多项目构建:Gradle 支持在一个构建脚本中定义多个项目,并允许你跨项目共享配置和依赖项。
  • 强大的依赖管理:Gradle 提供了灵活的依赖管理机制,支持从 Maven 仓库、Ivy 仓库和其他类型的仓库中解析依赖项。
  • 社区支持:Gradle 有一个活跃的社区,提供了大量的插件和文档资源。

AS查看gradle-plugin版本及gradle版本(图形)

在这里插入图片描述
在这里插入图片描述

查看gradle-plugin版本及gradle版本(配置文件)

  • 进入项目级bulid.gradle(不是app级)
    在这里插入图片描述
  • gradle\wrapper\gradle-wrapper.properties

在这里插入图片描述

配置文件分析

  • gradle-plugin
    这里主要解决第一次构建项目时可能出现的问题,不考虑具体项目配置,涉及到的配置文件就上图两个。
    项目级build.gradle:项目全局的gradle构建脚本(下面是uniapp 安卓SDK实例)
    (注意不要找到app文件夹里的那个了)
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven {url 'https://maven.aliyun.com/repository/google'}
        maven {url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven {url 'https://maven.aliyun.com/repository/public'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven {url 'https://maven.aliyun.com/repository/google'}
        maven {url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven {url 'https://maven.aliyun.com/repository/public'}
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
  • gradle
    repositories中配置的是仓库地址,Android Studio会从这里的地址下载gradle等工具。
    gradle-wrapper.properties:配置gradle
#Mon Dec 28 18:07:31 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

解决gradle下载失败、版本错乱等问题。

  1. 配置国内源
    首先配置国内的源,这里用阿里云的仓库
    https://developer.aliyun.com/mvn/guide
    在build.gradle文件中把 google() 和 jcenter() 注释掉,并添加

在这里插入图片描述
gradle版本和plugin版本是有对应关系的,版本错误的话可能会发生异常,具体对应关系见网址https://developer.android.com/studio/releases/gradle-plugin
(注:需要科学上网才能打开)
这里贴一个当前最新的对应关系表,如果不追求最新版的话应该够用了。
插件版本 所需的最低 Gradle 版本

plugin(AGP)gradle
8.4 (alpha)8.6-rc-1
8.38.4
8.28.2
8.18.0
8.08.0
7.47.5
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.37.3 7.4
  1. 手动下载gradle
    如果因为某些原因无法自动下载或解压gradle,可以手动进行下载并自行放置。
    gradle文件所在的地址是
    C:\Users\用户名\.gradle\wrapper\dists
    打开以后就会看见不同版本的gradle
    在这里插入图片描述

其中bin后缀的是只包含二进制文件,all后缀的包括二进制文件、文档和源代码,根据自己的需求进行选择。

进入任意一个gradle目录中都会有一个乱码文件夹,这个是必须的,如果gradle无法下载,也点击Android Studio中的Sync按钮让它去生成这个乱码文件夹,好让我们去手动放置。
在这里插入图片描述
在这里插入图片描述

选择好gradle版本后,开始手动下载,官方地址:https://gradle.org/releases/
以我使用的8.7为例
在这里插入图片描述

binary-only就是bin版本,complete就是all版本,自行选择进行下载即可。
下载完成后会得到一个zip压缩包,注意不要解压。把压缩包放到刚才提到的乱码文件夹中。
在这里插入图片描述

接下来重启Android Studio,它会自动进行解压并完成配置。

如果重启后还是在下载gradle文件,这时候就去看看是不是bin和all对应不上,比如项目需要bin版本的gradle,而你放了一个all版本的压缩包进去,那它当然还会下载。
这时候进入gradle-wrapper.properties 文件中,最后一行把bin改成all就解决问题了。
在这里插入图片描述