android-gradleandroid-gradle入门


备注

什么是android-gradle

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

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

主要特点

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

概观

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

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

项目结构

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

Android Project文件夹结构

android-gradle插件

gradle项目通常分为子项目或模块,每个模块包含一个专用的构建脚本。

插件依赖项通常在main / top level 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'

冒号:有点用作文件夹分隔符。

要使用该插件,必须将其应用于每个模块(示例中的app )的build.gradle文件的顶部。

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

外部链接:

Gradle的Android插件

如备注部分所述,Android构建系统使用Android插件Gradle支持使用Gradle构建Android应用程序。

您可以在顶级build.gradle 文件中指定Gradle版本的Android插件。插件版本适用于Android Studio项目中内置的所有模块。

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
  }
}
 

Gradle包装

如备注部分所述,您可以指定每个项目使用的Gradle版本,该版本在gradle/wrapper/gradle-wrapper.properties 文件中编辑Gradle分布引用。

例如:

...
distributionUrl = https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
...
 

使用Android Studio进行初始设置

要设置使用Android Gradle插件,您需要很多东西:

  • java的
  • gradle这个
  • Android项目文件夹结构
  • Android Manifest
  • 初始插件设置

获得所有这些的最简单方法是遵循以下步骤:

  1. 下载并安装Java OpenJDK版本6或7 (您可以使用8与gradle插件的其他设置)
  2. 下载并安装Android Studio
  3. 创建一个新项目(如果需要帮助,请参阅创建一个新项目

查看备注部分以获取更多信息。