码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-07-20 14:33:50      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

作者:郭孝星
微博:郭孝星的新浪微博
邮箱:allenwells@163.com
博客: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‘
}

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

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

标签:

原文地址:http://blog.csdn.net/allenwells/article/details/46966281

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!