android 项目用到Gradle环境
gradle-plugin插件版本和gradle版本配置
- gradle-plugin插件版本配置
//项目的build.gradle
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
}
}
- gradle版本配置
//项目的gradle/wrapper/gradle-wrapper.properties
#Mon Aug 03 17:08:19 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
gradle-plugin插件和gradle 源码关联
- gradle-plugin插件源码关联
不做gradle-plugin插件其他配置,android {}的元素是不能点击关联到源码的(我用的android studio 4.0.1)
这样很不方便,想看看源码都不行,gradle-plugin插件源码很大有30G,下载起来很不方便,下面通过在dependencies 配置依赖下载对应的库,可以看对应的字节码反编译的源码
dependencies {
implementation 'com.android.tools.build:gradle:4.0.1'
}
Sync 一下,你发现android {}的元素可以点击查看对应的源码
- gradle版本源码关联
gradle的版本配置如下:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
上面就是去https://services.gradle.org/distributions/
网站下载gradle-6.1.1-all.zip文件,这个已经包含源码了;如下图,还可以选择:
gradle-6.1.1-bin.zip或者gradle-6.1.1-src.zip。note:如果你碰到网速很不好,gradle-6.1.1-all.zip下载不下来,可以选择gradle-6.1.1-bin.zip;还有一种方法是直接在谷歌浏览器下载(Android studio 网速慢下载容易失败,又没有断点下载功能),再为distributionUrl配置为本地的位置
distributionUrl=file:///G://my/gradle-6.1.1-all.zip
Groovy 语言简单学习
Gradle 框架是使用Groovy 语言实现的,代码很多是Java(Groovy 是从Java扩展,都是JVM语言);目前Gradle 框架也支持Kotlin(也是一种JVM语言)
Groovy语言学习这块,如果有java经验可以放在后面使用的时候再去查询语法,先可以了解下闭包的概念
文档资料:
Groovy官方文档:http://www.groovy-lang.org/documentation.html#gettingstarted
Gradle 之语言基础 Groovy
Gradle 框架学习
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。
DSL的全称是domain-specific language,与之相对的是GPL(general-purpose language)
常见的DSL有:HTML,Shell,ant语言,maven语言,正则表达式等
常见的GPL有:Java,Kotlin,Dart,Php,Python,C/C++等
开始Gradle 学习:准备另一篇文章单独写
文档资料:
Gradle官方文档:https://docs.gradle.org/current/dsl/
Android Gradle plugin学习
Android Studio构建系统基于Gradle,Android Gradle插件添加了几个专门用于构建Android应用程序的功能。
文档资料:
Android Gradle plugin官方文档:https://developer.android.google.cn/studio/releases/gradle-plugin
全面理解Gradle - 执行时序