一个使用 Gradle 构建的 Android 项目中一般会涉及到三个 Gradle 相关的东西,分别是:
1,Gradle:是一个基于 Apache Ant 和 Apache Maven 概念的项目 自动化建构 工具。它使用一种基于 Groovy 的特定领域语言 来声明项目设置,而不是传统的 XML 。当前其支持的语言限于 Java、 Groovy和Scala ,计划未来将支持更多的语言。
2,Gradle Wrapper:Gradle 可以在没有安装 Gradle 的情况下使用,这时候就需要 Gradle Wrapper 了。Gradle Wrapper 其实就是一个脚本文件,它会在没有安装 Gradle 的情况下为我们下载 Gradle,之后我们就可以使用 gradlew 命令,像使用 gradle 一样来使用 Gradle 了。
3,Android Gradle Plugin:是一堆适合 Android 开发的 Gradle 插件的集合,主要由 Google 的 Android 团队开发,Gradle 不是 Android 的专属构建系统,但是有了Android Plugin for Gradle的话,你会发现使用 Gradle 构建 Android 项目尤其的简单。
三者的官网如下:
- Gradle: https://docs.gradle.org/current/userguide/userguide_single.html
- Gradle Wrapper: https://docs.gradle.org/current/userguide/gradle_wrapper.html
- Android Plugin for Gradle: https://developer.android.com/studio/build/index.html
Gradle Wrapper
1,gradle/wrapper/gradle-wrapper.jar
Gradle Wrapper的主体功能包;
2,gradle/wrapper/gradle-wrapper.properties
Wrapper 属性文件,文件主要指定了该项目需要什么版本的 Gradle,从哪里下载该版本的 Gradle,下载下来放到哪里:
#Tue Feb 19 10:23:45 CST 2019
distributionBase=GRADLE_USER_HOME // 指这个路径 -> ~/.gradle
distributionPath=wrapper/dists // distributionBase和distributionPath组合在一起,是解压 gradle 压缩包之后的文件存放目录
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists // zipStoreBase 和 zipStorePath 组合在一起,是下载 gradle 压缩包的存放目录
distributionUrl=https\:// services.gradle.org/distributions/gradle-4.10.1-all.zip //是要下载的gradle的地址,使用哪个版本的gradle
3,gradlew
Unix的shell脚本;
4,gradlew.bat
Windows的批处理文件;
Android Gradle Plugin
这个配置在项目根目录下的 build.gradle
中:
buildscript {
repositories {
maven { url "https://maven.aliyun.com/repository/google"}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
这里配置的 repositories
和 dependencies
都是用于 gradlew 的脚本文件中的,和 allprojects
下面配置的 respositories
用处不一样,后者是用于整个项目的仓库。
allprojects {//用于整个项目的仓库
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
由于墙的原因,国外的仓库拉东西特别慢,要想体验好点可以用国内的阿里云镜像。
参考:
1,https://blog.csdn.net/u011054333/article/details/53999590
网友评论