前言
Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。
AndroidStudio使用Gradle作为基础的构建工具,所以我们需要对Gradle做进一步的了解,这就提到了Groovy语言。
Groovy
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。
一、对Gradle统一管理
在项目中,有可能出现多个module的情况,很多moudle都拥有相同的依赖,比如V7包,如果想做V7包版本的变动,很可能造成版本的不兼容。所以对依赖进行统一的管理对于有多个moudle的情况非常方便。
那么如何进行统一管理呢?
1、建立config.gradle
在主项目根目录下建立 config.gradle
2、声明版本和库
编写如下代码,对需要用到的版本号和库进行声明。
ext {
android = [
minSdkVersion : 16,
compileSdkVersion: 26,
targetSdkVersion : 26,
buildToolsVersion: "26.0.2",
supportVersion : "26.1.0",
versionCode : 1,
versionName : "1.0",
resConfigs : "zh"
]
plug = [
mainVersion : 1,
mainVersionName : '1.0.0',
libBaseVersion : 1,
libBaseVersionName : '1.0.0',
libStyleVersion : 1,
libStyleVersionName: '1.0.0',
libUtilVersion : 1,
libUtilVersionName : '1.0.0'
]
def supportVersion = "26.1.0"
def constraintSupportVersion = "1.1.3"
def cardViewVersion = '25.3.0'
dependencies = [
// Android support library
SupportDesign : "com.android.support:design:$supportVersion",
SupportAppcompatV7 : "com.android.support:appcompat-v7:$supportVersion",
SupportConstraint : "com.android.support.constraint:constraint-layout:$constraintSupportVersion",
CardView : "com.android.support:cardview-v7:$cardViewVersion",
]
}
3、根目录中添加config.gradle
打开项目的build.gradle,在其最上方添加代码