【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文件夹里的那个了)
java 复制代码
// 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
java 复制代码
#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.3 8.4
8.2 8.2
8.1 8.0
8.0 8.0
7.4 7.5
7.3 7.4
7.2 7.3.3
7.1 7.2
7.0 7.0
4.2.0+ 6.7.1
4.1.0+ 6.5+
4.0.0+ 6.1.1+
3.6.0 - 3.6.4 5.6.4+
3.5.0 - 3.5.4 5.4.1+
3.4.0 - 3.4.3 5.1.1+
3.3.0 - 3.3.3 4.10.1+
3.2.0 - 3.2.1 4.6+
3.1.0+ 4.4+
3.0.0+ 4.1+
2.3.0+ 3.3+
2.1.3 - 2.2.3 2.14.1 - 3.5
2.0.0 - 2.1.2 2.10 - 2.13
1.5.0 2.2.1 - 2.13
1.2.0 - 1.3.1 2.2.1 - 2.9
1.0.0 - 1.1.3 2.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就解决问题了。

相关推荐
阿巴斯甜18 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker18 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952719 小时前
Andorid Google 登录接入文档
android
黄林晴20 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_2 天前
Android 启动优化方案
android
阿巴斯甜2 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇2 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android