Gradle使用详解

1.Gradle是什么?

在使用gradle时首先要明白gradle是什么,gradle是一个自动构建工具,它可以自动构建,测试,发布,部署,同时使更多的软件包或其他类型诸如生成静态网站,文档等项目自动化。在开发android过程中,我们会用到许多资源,如图片,文件,jar等。在我们进行打包发布的过程中,这些资源是如何有效的构建,组织在一起的呢?gradle就是这样的一个工具,它能将这些资源有效的构建组织到一起。当然在Eclipse中用到的是Ant,在Android Studio中用到的构建工具才是Gradle.

2.Gradle的基本知识

在用AS(android studio)进行Android项目的开发时,主要用到的gradle文件有三个,如下图:
gradle文件
在三个gradle文件中,第二个和第三个gradle文件用于整个Project,而第一个只用于module项目(AS中工程与项目的概念与eclipse不同,AS中的project相当于eclipse中的工作空间,而module项目相当于eclipse中的一个project.)
下面来看看这三个文件的主要作用:

第一个build.gradle文件内容:

//声明是一个android程序,如果是一个library,就会显示成com.android.library
apply plugin: 'com.android.application'

android {
    //编译的sdk版本号
    compileSdkVersion 21
    //build tools的版本号,即gradle的版本号
    buildToolsVersion "21.1.2"

    //程序的一些默认配置
    defaultConfig {
        //程序包名
        applicationId "com.fu.dao.li"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

    //程序打包时会用到的配置信息,在这里可以配置一些信息,进行多渠道打包
    buildTypes {

        //debug模式进行打包的信息
        debug{

        }

        //正式发布的版本打包信息
        release {
            //是否进行混淆打包
            minifyEnabled false
            //混淆文件的位置,这里有二个混淆文件,第一个是android系统自带的混淆文件,它会随着sdk
               的更新自己更新,proguard-rules是我们自己项目混淆的地方
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

//程序所依赖的jar,library等信息
dependencies {
    //包含libs文件夹下的所有jar文件
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //依赖本地的库mylibrary
    compile project(':mylibrary')
    //依赖的远程library,格式为:包名:依赖库名:所依赖库的版本号
    compile 'com.android.support:appcompat-v7:21.0.3'
}

在程序所依赖的dependencies配置信息中,可以依赖本地的jar,library和远程中央仓库JCenter中的library,,,JCenter现在是Android Studio中repositories的默认节点,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用。其实JCenter是一个类似于github,用户可以将自己写的代码上传到这个网站上,等待网站审核通过后,你就可以远程依赖这个代码了,当然已经有很多人将自己的写的代码上传到这个中央仓库中,这里面有很多的开源library,我们只要找到我们需要的library引用就可以了,只要在dependencies中配置下这个远程library信息,gradle就会自动到中央仓库中去下载这个library,不用我们自己去下载了,十分方便。例如:compile’com.android.support:appcompat-v7:21.0.3’, 就是表示依赖中央仓库中包名为com.andrlid.support项目名为appcompat-v7版本号为21.0.3的这个library.

第二个build.gradle文件中的内容

buildscript {
    //声明仓库源信息,这个jcenter就是中央仓库
    repositories {
        jcenter()
    }

    //声明构建工具及版本号,这里工具是gradle,版本号1.1.0
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}
allprojects {
    //声明仓库源信息
    repositories {
        jcenter()
    }
}

在第二个的gradle文件中,这个文件是全局配置信息,配置信息对所有的module项目都是有效的,其中module中用到的中央仓库在这里进行了声明配置。

第三个setting.gradle文件内容

include ':app','CusomView'

这个文件是也全局的项目配置文件,里面主要声明一些需要加入gradle的module,如果有其它的module也可以按这样的方式入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值