android-gradle 入门
什么是 android-gradle
android-gradle
是由 Google Tools 开发团队正式维护的 gradle
插件 ,是自 2013 年 5 月 16 日 Google I / O 发布以来的官方构建工具。
通过阅读使用 Gradle 配置构建来学习基础知识。
主要特点
Android Gradle 插件的主要功能包括:
概述
- 下载并安装 Android Studio
- 打开它并使用所有默认设置创建一个新项目
理论上,你可以直接安装 gradle,自己构建配置文件和目录结构。在实践中,没有人这样做。
项目结构
项目文件夹结构通常如下所示:
android-gradle
插件
gradle 项目通常分为子项目或模块,每个模块包含一个专用的构建脚本。
插件依赖项通常在主/顶级 build.gradle
文件中声明:
buildscript {
// maven repositories for dependencies
repositories {
jcenter()
}
// build script dependencies
dependencies {
// this is the dependency to the android build tools
classpath 'com.android.tools.build:gradle:2.1.2'
}
}
allprojects {
// maven repositories for all sub-project / modules
repositories {
jcenter()
}
}
在这个例子中,android-gradle
插件版本是 2.1.2
,你可以从这一行看到:
classpath 'com.android.tools.build:gradle:2.1.2'
模块
该项目分为模块,每个模块包含一个专用的 build.gradle
脚本。settings.gradle
文件列出了这些模块:
include ':app'
冒号:
在某种程度上用作文件夹分隔符。
要使用该插件,必须将其应用于每个模块的 build.gradle
文件的顶部(示例中为 app
)。
对于 Android 应用程序:
apply plugin: 'com.android.application'
对于 Android 库:
apply plugin: 'com.android.library'
然后在它的 android
标签中配置:
android {
// gradle-android plugin configuration
}
基本的 Android 应用配置
Android Studio 为应用程序生成的 build.gradle
如下所示:
apply plugin: 'com.android.application'
android {
// setup which version of the SDK to build against and
// with what version of the build tools
compileSdkVersion 23
buildToolsVersion "23.0.2"
// default app configurations
defaultConfig {
// this is your app unique ID
applicationId "com.example.myapp"
// devices with lower SDK version can't install the app
minSdkVersion 14
// target SDK version, should be the last available one and
// match the compile one
targetSdkVersion 23
// integer and string version of your app
versionCode 1
versionName "1.0"
}
// default build types are "debug" and "release"
buildTypes {
release {
// enable / disable proguard optimization
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
// app dependencies
dependencies {
// any jar file in the libs folder
compile fileTree(dir: 'libs', include: ['*.jar'])
// test dependency
testCompile 'junit:junit:4.12'
// runtime dependency on the support library
compile 'com.android.support:appcompat-v7:24.0.0'
}
使用 Gradle 配置你的构建,可以教你更高级的 Android Gradle Plugin 设置和选项,并深入了解此设置的含义。
defaultConfig
就是这样调用的,因为它可以用 Product Flavors 覆盖。
buildTypes
标签允许你设置如何构建你的应用程序以实现优化(如 proguard),你可以学习更多阅读构建类型 。它还可用于设置应用程序的签名。
你还应该了解有关如何声明依赖关系的更多信息 。如你所见,dependencies
标签位于 android
之外:这意味着它不是由 Android 插件定义的,而是标准的 gradle
。
Gradle Wrapper
默认情况下,Android Studio 还会安装 gradle 包装器 。这是一个可以直接从命令行执行的工具,它将在你第一次执行时下载本地特定版本的 gradle。
要启动编译应用程序,你可以启动 gradle 包装器
Linux / Mac:
./gradlew assemble
视窗:
gradlew assemble
该脚本启动包装器,包含在项目根目录中的 gradle
文件夹中:
gradle-wrapper.jar
:下载 gradle 并执行它的包装器的代码gradle-wrapper.properties
定义包装器应下载哪个 gradle 版本