加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android 项目中 Gradle 的配置

发布时间:2023-05-18 12:54:46 所属栏目:教程 来源:
导读:前面我们一起学习了 Groovy 语言的语法基础,再由浅入深从 Gradle 的环境变量配置,到创建一个简单的 Gradle 项目。今天这节课我们为大家介绍一下 Android 项目中 Gradle 的配置。

AndroidStudio 项目结构

我们
前面我们一起学习了 Groovy 语言的语法基础,再由浅入深从 Gradle 的环境变量配置,到创建一个简单的 Gradle 项目。今天这节课我们为大家介绍一下 Android 项目中 Gradle 的配置。

AndroidStudio 项目结构

我们介绍 AndroidStudio 中 Android 项目的 Gradle 配置之前,我们先来看下 AndroidStudio 中 Android 项目的结构,我们新建一个项目结构大致如下图所示:

根目录下的 build.gradle: 顶级构建文件,配置 Gradle 版本和 Maven 依赖;
app 目录下的 build.gralde文件: app 打包和签名配置,及模块的依赖;
gradle 文件夹: 配置 gradel-wrapper;
setting.gradle 文件: 添加编译的所有模块;
gradle.projects 文件: 项目范围的梯度设置,编译内存,Gradle 并发性等设置。;
gradlew 和 gradlew.bat 文件: Gradle 启动脚本文件;
.gradle 文件夹: 编译时的缓存文件夹。
这几个部分各自负责的功能都不尽相同。下面我们来看下它们具体的功能。

根目录下的 build.gradle 文件

这个文件是我们创建 Android 项目的时候自动生成的,它是顶级构建文件,我们可以在其中添加所有子项目/模块共有的配置选项。我们来看下这个文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
//顶级构建文件,您可以在其中添加所有 子项目/modules 共有的配置选项
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        //注意:不要将您的应用程序依赖项放在这里; 它们属于单独的模块 build.gradle 文件
    }
}
allprojects {
    repositories {
        google()
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}
以上就是我们每创建一个 Android 项目,项目根目录下的 build.gradle 文件的代码,也就是顶级构建文件的代码。下面来分开讲解一下每个闭包:

buildscript{} 闭包

首先我们先看下上面的buildscript闭包,这个闭包里是配置 Gradle 脚本执行所需要的的依赖,分别是对应 Maven 仓库和构建工具 Gradle 的版本。

这个闭包里面主要是配置远程的 Maven 仓库地址。我们看到里面声明了jcenter()和google(),这两个都是 maven 仓库,上面托管了很多开源项目,依赖了这个我们就可以引用上面的开源项目了。比如 Android 中的 V7,V4 包等。

这个闭包我们直接看,就应该能猜到是配置项目构建工具 Gradle 的版本的,classpath 就是声明一个插件 Gradle来构建项目。dependencies虽然是依赖的意思,但是我们这里需要注意:不能将应用程序的依赖放在这里,应用程序的依赖在单独的build.gradle里面。

这个闭包里面的是我们项目运行所需要的的依赖,往往和上面的repositories是相对应的。

buildscript {
    repositories {  //注释1
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        //注意:不要将您的应用程序依赖项放在这里; 它们属于单独的模块build.gradle文件
    }
}
allprojects {
    repositories { //注释2
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        google()
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}
这里我们需要注意代码中的注释1和注释2处的 repositories 闭包,往往我们添加一个 maven 库的依赖时,需要两个闭包中都添加一遍。

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章