build.gradle
Android Studio 是采用 Gradle 来构建项目的。
Gradle 是一个非常先进强大的项目构建工具,它使用了一种基于 Groovy 领域的特定语言(DSL)来声明项目设置。
摒弃了基于 XML(如 Ant 和 Maven)的各种繁琐的配置。
gradle
gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置抛弃了基于XML的各种繁琐配置,使的它更简洁,灵活而且gradle完全兼容maven和ivy。
打开Android Studio内置的终端,在输入如下命令查看gradle版本:
代码语言:javascript复制gradlew -v
执行结果如下:
image.png
Project的build.gradle文件
代码语言:javascript复制// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {//这里是gradle脚本执行所需依赖,分别是对应的maven库和插件
repositories {
google()//从Android Studio3.0后新增了google()配置,可以引用google上的开源项目
jcenter()//是一个类似于github的代码托管仓库,声明了jcenter()配置,可以轻松引用 jcenter上的开源项目
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'////此处是android的插件gradle,gradle是一个强大的项目构建工具
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {//这里是项目本身需要的依赖,比如项目所需的maven库
repositories {
google()
jcenter()
}
}
// 运行gradle clean时,执行此处定义的task任务。
// 该任务继承自Delete,删除根目录中的build目录。
// 相当于执行Delete.delete(rootProject.buildDir)。
// gradle使用groovy语言,调用method时可以不用加()。
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin
apply plugin表示应用了一个插件,该插件一般有两种值可选:
- 'com.android.application',表示该模块为应用程序模块,可以直接运行,打包得到的是.apk文件
- 'com.android.library',表示该模块为库模块,只能作为代码库依附于别的应用程序模块来运行,打包得到的是.aar文件
写法如下:
代码语言:javascript复制// 声明是Android程序,
//com.android.application 表示这是一个应用程序模块
//com.android.library 标识这是一个库模块
apply plugin: 'com.android.application'