Gradle是一个构建系统(开源),用于自动化构建、测试、部署等。“build.Gradle”是一个可以自动化任务的脚本。例如,将一些文件从一个目录复制到另一个目录的简单任务可以在实际构建过程发生之前由Gradle构建脚本执行。
为什么需要格拉德尔?
每个安卓项目都需要一个Gradle来从 JAVA 和 .xml 项目中的文件。简单地说,gradle获取所有源文件(java和XML)并应用适当的工具,例如,将java文件转换为dex文件,并将所有文件压缩为实际使用的单个文件,称为apk。有两种类型的构建。gradle脚本
- 顶层构建。格拉德尔
- 模块级构建。格拉德尔
顶层构建。格雷德尔:
它位于根项目目录中,其主要功能是定义将应用于项目中所有模块的构建配置。其实施方式如下:
JAVA
// Top-level build file where you can add configuration // options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.4.3' } } allprojects { repositories { google() mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir } |
顶层构建。gradle支持各种构建配置,如:
构建脚本: 此块用于配置Gradle的存储库和依赖项。
注: 这里不要包含依赖项。(这些将包含在模块级build.gradle中)
依赖项: buildscript中的这个块用于配置Gradle在项目期间需要构建的依赖项。
JAVA
classpath 'com.android.tools.build:gradle:3.0.1' |
这一行将插件添加为gradle 3.0.1的类路径依赖项。
- 所有项目: 这是一个可以配置第三方插件或库的块。对于新创建的项目,android studio默认包括mavenCentral()和谷歌的maven存储库。
- 任务清理(类型:删除): 此块用于在每次运行项目时删除目录。这样,当有人在设置期间修改某些配置文件时,项目保持干净。gradle需要彻底清洁。
模块级构建。格雷德尔:
位于 项目/模块 该Gradle脚本是定义所有依赖项并声明SDK版本的项目目录。此脚本在项目中有许多功能,包括主/应用程序清单或应用程序中的其他生成类型和覆盖设置 顶级构建。格拉德尔 文件其实施方式如下:
JAVA
// The first line in this file indicates // the Android plugin is applied for Gradle to // this build apply plugin : 'com.android.application' android { compileSdkVersion 30 buildToolsVersion "30.0.3" { applicationId "example.mehakmeet.geeksforgeeks" minSdkVersion 19 targetSdkVersion 30 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile( 'proguard-android.txt' ), 'proguard-rules.pro' } } } dependencies { implementation fileTree(include : [ '*.jar' ], dir : 'libs' ) implementation 'com.android.support:appcompat-v7:26.1.0' } |
模块级构建。gradle支持各种构建配置,如:
- 安卓: 此块用于配置特定的android构建选项。
- 编译DK版本 –这用于定义应用程序的API级别,应用程序可以使用此级别和更低级别的功能。
- defaultConfig:
- 应用程序ID –用于识别发布应用程序的唯一id。
- 明斯克版本 –这定义了运行应用程序所需的最低API级别。
- targetSdkVersion –这定义了用于测试应用程序的API级别。
- 版本代码 –这定义了应用程序的版本代码。每次需要更新应用程序时,版本代码需要增加1或更多。
- 版本名 –这定义了应用程序的版本名。在创建更新时,这可能会增加很多。
- 构建类型(发布):
- minifyEnabled –这将为发布版本启用代码收缩。
- 程序文件 –这将指定 普格尔德 设置文件。
- 依赖项: 这将指定构建项目所需的依赖项。
顶层和模块级构建。gradle文件是android项目中自动化任务的主要脚本文件,gradle使用这些文件从源文件生成APK。