android-gradle 入门

什么是 android-gradle

android-gradle 是由 Google Tools 开发团队正式维护的 gradle 插件 ,是自 2013 年 5 月 16 日 Google I / O 发布以来的官方构建工具。

通过阅读使用 Gradle 配置构建来学习基础知识。

主要特点

Android Gradle 插件的主要功能包括:

概述

  1. 下载并安装 Android Studio
  2. 打开它并使用所有默认设置创建一个新项目

理论上,你可以直接安装 gradle,自己构建配置文件和目录结构。在实践中,没有人这样做。

项目结构

项目文件夹结构通常如下所示:

StackOverflow 文档

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 版本

外部链接: