Android 项目中 Gradle 的配置
发布时间:2023-05-18 12:54:46 所属栏目:教程 来源:
导读:前面我们一起学习了 Groovy 语言的语法基础,再由浅入深从 Gradle 的环境变量配置,到创建一个简单的 Gradle 项目。今天这节课我们为大家介绍一下 Android 项目中 Gradle 的配置。
AndroidStudio 项目结构
我们
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 库的依赖时,需要两个闭包中都添加一遍。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |