【Android Studio探索之路系列】之七:Android项目构建系统 - Gradle

作者:郭孝星

微博:郭孝星的新浪微博

邮箱:[email protected]

博客:http://blog.csdn.net/allenwells

github:https://github.com/AllenWell

Android Studio的项目构建系统是Gradle。

什么是Gradle呢?

Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。

Gradle有哪些优点?

  1. gradle对多工程的构建支持很出色,工程依赖是gradle的第一公民。
  2. gradle支持局部构建。
  3. 支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs
  4. gradle是第一个构建集成工具(the first build integration tool),与ant、maven、ivy有良好的相容相关性。
  5. 轻松迁移:gradle适用于任何结构的工程(Gradle can adapt to any structure you have.)。你可以在同一个开发平台平行构建原工程和gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践。
  6. gradle的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。
  7. 免费开源

Gradle提供了哪些功能?

  1. 一种可切换的,像maven一样的基于约定的构建框架,却又从不锁住你(约定优于配置)

    Switchable, build-by-convention frameworks a la Maven. But we never lock you in!

  2. 强大的支持多工程的构建
  3. 强大的依赖管理(基于Apache Ivy),提供最大的便利去构建你的工程

    Language for dependency based programming

  4. 全力支持已有的Maven或者Ivy仓库基础建设
  5. 支持传递性依赖管理,在不需要远程仓库和pom.xml和ivy配置文件的前提下
  6. 基于groovy脚本构建,其build脚本使用groovy语言编写
  7. 具有广泛的领域模型支持你的构建A rich domain model for describing your build.

Android Studio中,Gradle由一个顶级配置文件和其他模块配置文件构成,如下图所示:

下面我们依次来看一下这几个文件。

一 Gradle顶级配置文件

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        /* 存储库jcenter,也可以配置moven */
        jcenter()
    }
    dependencies {
        /* 依赖的Gradle版本 */
        classpath ‘com.android.tools.build:gradle:1.2.3‘

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        /* 所有项目的存储库 */
        jcenter()
    }
}

二 Gradle模块配置文件

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 22//最高API等级
    buildToolsVersion "22.0.1"//编译工具版本号

    defaultConfig {//默认配置
        applicationId "com.allenwells.myapplication"//应用包名
        minSdkVersion 15//最小API等级
        targetSdkVersion 22//编译API等级
        versionCode 1//版本号
        versionName "1.0"//版本名称
    }
    buildTypes {//构建类型
        release {//正式版配置
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }//混淆配置文件
    }

    sourceSets {
        main {
            jniLibs.srcDirs =[‘libs‘]
        }
    }
}

dependencies {//依赖配置
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:22.1.1‘
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 08:29:04

【Android Studio探索之路系列】之七:Android项目构建系统 - Gradle的相关文章

【Android Studio探索之路系列】之六:Android Studio加入依赖

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [Android Studio探索之路系列]章节列表 [Android Studio探索之路系列]之中的一个:Android Studio开篇 [Android Studio探索之路系列]之二:Android Studio软件安装 [Android Studio探索之路系列]之

【Android Studio探索之路系列】之八:Gradle项目构建系统(二):Gradle for Android脚本语法

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 在介绍Gradle for Android脚本语法语法之前,我们先来了解一下Android Studio工程中几个常见的Gradle脚本文件的相关功能,这样我们会有个大致的印象,而后我们再详细的去讨论相关的语法表达. Android Studio中,Gradle由一个顶级配置文

【Android Studio探索之路系列】之五:Android Studio项目创建

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 首先阐述一下在Android Studio项目创建中涉及的两个概念. Project:工作空间 Module:具体的项目 对应关系 在 Eclipse 中,我们可以同时对多个Project进行同时编辑,这些 Project 在同一个Workspace之中.在Android St

【Android Studio探索之路系列】之六:Android Studio添加依赖

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 本文主要讲解如何在Android Studio中添加JAR包.Module和SO库. 一 JAR包的依赖配置 首先使用快捷键Ctrl+Alt+Shift+S打开当前项目的配置,如下图所示: 1.1 直接搜索法 点击 +->Library dependency,如下图所示搜索选择

【Android Studio探索之路系列】之二:Android Studio软件安装

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 下载Android Studio 由于很多人连不上Android的官网,这里给出的是Android Studio中文组的下载地址,他们的更新服务做的挺好的. Android Studio下载 二 安装Android Studio Windows平台的Android Stud

【Android Studio探索之路系列】之九:Gradle项目构建系统(三):第三方Android Studio项目导入:

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 有时候我们会在Github等网站看到一些不错的开源项目,对于这些开源项目,我们一般会有阅读源码和查看效果两种需求.这个时候,我们可以把项目导入Android Studio进行源码查看和编译. 在正式介绍如何在Android Studio中导入第三方项目之前,先介绍一种轻量级的实

【Android Studio探索之路系列】之四:Android Studio快捷键

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 本篇文章介绍Android Studio的快捷键,由于快捷键很多,所以文章开始列出最为常用的一组快捷键,并在文章末尾给出详尽的快捷键描述. Android Studio常用快捷键 Ctrl+G / Ctrl+Alt+Shift+G:查询变量或者函数或者类在哪里被使用或被调用,后

【Android Studio探索之路系列】之三:Android Studio界面元素

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 首先让大家对Android Studio的界面元素有个大致印象,如下图所示: 一 菜单栏 菜单栏包含了Android Studio的所有功能,另外,如果你想执行一个命令或操作,但你只有模糊的印象,这个时候你可以按下Ctrl+Shift+A弹出命令搜索窗口,当你输入命令的部分字符

【Android Studio探索之路系列】之十:Gradle项目构建系统(四):Android Studio项目多渠道打包:

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 由于国内Android市场渠道众多,为了统计每个渠道的下载以及数据统计,需要我们针对每个渠道进行单独打包,而Gradle可以帮助我们完成自动多渠道打包. 一多渠道打包流程 (1) 在AndroidManifest.xml中配置PlaceHolder <meta-data and