概述
Gradle官方文档:
https://docs.gradle.org/current/userguide/installation.html
Gradle基础:
1.Gradle构建脚本的语言:基于Groovy的领域专用语言(DSL)
2.基于build文件组装项目和任务对象。一个任务对象包含一系列动作对象,这些对象之后会按照顺序执行。
3.Gradle构建阶段:
(1)初始化:根据项目模块(依据build),创建多个项目实例。
(2)配置:构建脚本执行,为每个项目实例创建和配置任务。
(3)执行:根据参数配置和当前目录决定执行哪些任务。
4.gradle Wrapper:确保避免Gradle兼容性问题,并且构建是可重复的
gradle Wrapper包含三部分:
(1)windows上的batch文件或者mac上的shell脚本
(2)脚本需要用到的jar文件
(3)properties文件
理解Gradle文件:
项目初始化会生成三个build文件分别是setting.build、顶层构建文件build、模块构建文件build
- setting.build
include ':app'
rootProject.name = "My Application"
setting在初始化被执行,且定义了需要构建的模块,但模块不需要setting文件,多模块工程必须要,不然Gradle不知道哪些模块包含在构建内。
- 顶层构建文件build
buildscript {
repositories {//将Jcenter配置成仓库,仓库意味着一系列依赖包
google()
jcenter()//Maven仓库
}
dependencies {//配置构建过程中的依赖包
classpath "com.android.tools.build:gradle:4.1.2"
}
}
allprojects {//用来声明那些需要被用于所有模块的属性
repositories {
//一、预定义依赖仓库
google()
jcenter()
//二、一些组织会创建基于自己Maven或lvy服务的依赖库,依赖需要添加URL,如下:
maven{
url "http://repo.acmecrop.com/maven2"
}
或者:
ivy{
url "http://repo.acmecrop.com/repo"
}
依赖自己公司的仓库则需要添加凭证
maven{
url "http://repo.acmecrop.com/maven2"
credentials{
username 'user'
password 'secretpassword'
}
}
//三、如果需要依赖本地仓库
maven{
url "../repo"//添加绝对或者相对路径
}
或者通过flatDirs来添加一个常用文件夹作为仓库,然后引用
flatDir{
dirs 'aars'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
- 模块构建文件build
plugins {
id 'com.android.application'//Android应用插件,在顶层构建文件中被配置成了依赖,提供构建和测试相关依赖
}
android {
compileSdkVersion 30//用来编译应用的Android API版本
buildToolsVersion "30.0.3"//构建工具和编译器使用的版本号
defaultConfig {
applicationId "com.joyce.project.myapplication"//应用商店唯一标识、区别于包名的应用
minSdkVersion 29//运行应用的最小API级别
targetSdkVersion 30//用于通知系统,该应用已经在某特定的Android版本通过测试,从而操作系统不必启用任何向前兼容的行为
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
//构建工具会生成一个BuildConfig类,用于在release或者debug时设置不同的常量
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
//依赖lib下的文件,并且过滤jar,只依赖jar文件
compile fileTree(dir:'libs',include:['*.jar'])
//构建文件中添加一行代码,Gradle将会从远程仓库下载依赖,确保项目能够使用依赖中的类,而依赖库中的依赖,则是传递依赖
//依赖包含三个元素group、name、version,注意的是,依赖动态版本会导致Gradle获取的依赖版本并不稳定,导致构建中断或者和应用行为不一致
implementation 'androidx.appcompat:appcompat:1.2.0'
//依赖项目有两种方式
//第一种,当做一个模块
compile project(':library')
//第二种,使用.aar
compile(name:'libraryname',ext:'aar')
}
最后
以上就是快乐蜻蜓为你收集整理的Gradle一:初识Gradle的全部内容,希望文章能够帮你解决Gradle一:初识Gradle所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复