我是靠谱客的博主 快乐蜻蜓,最近开发中收集的这篇文章主要介绍Gradle一:初识Gradle,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部