gradle相关配置内容解析

gradle

项目的构建工具,基于groovy语言。主要用于管理依赖包。

as中一般将gradle下载在C:Documents and Settings<用户名>.gradlewrapperdists 目录/gradle-x.xx-all 

关于build.gradle

下面就以我的开源项目 9GAG 来详细讲解下和Gradle相关的知识, 和Gradle相关的几个文件一般有如下几个

大体有三种(请先了解module和project的区别):

1. 9GAG/app/build.gradle

2. 9GAG/extras/ShimmerAndroid/build.gradle

每一个Module都需要有一个gradle配置文件,语法都是一样,唯一不同的是开头声明的是 apply plugin: ‘com.android.library’

3. 这个文件是整个项目的gradle基础配置文件

build.gradle内容详解

(1)9GAG/app/build.gradle

// 声明是Android程序
apply plugin: 'com.android.application'

android {
    // 编译SDK的版本
    compileSdkVersion 21
    // build tools的版本,需要本地有该版本,手动更改成你本地已有的版本或者打开 SDK Manager 去下载对应版本都可以。
    buildToolsVersion "21.1.1"

    defaultConfig {
        // 应用的包名
        applicationId "me.storm.ninegag"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0.0"
    }

    // java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    
    buildTypes {
        debug {
            // debug模式
        }
        
        release {
            // 是否进行混淆
            minifyEnabled false
            // 混淆文件的位置
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    
    // 移除lint检查的error
    lintOptions {
      abortOnError false
    }
}

dependencies {
    // 编译libs目录下的所有jar包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.2'
    compile 'com.etsy.android.grid:library:1.0.5'
    compile 'com.alexvasilkov:foldable-layout:1.0.1'
    // 编译extras目录下的ShimmerAndroid模块
    compile project(':extras:ShimmerAndroid')
}

(2)9GAG/extras/ShimmerAndroid/build.gradle

每一个Module都需要有一个gradle配置文件,语法都是一样,唯一不同的是开头声明的是 apply plugin: ‘com.android.library’

其他gradle相关文件内容解析

(1) gradle-wrapper.properties 

#Thu Dec 18 16:02:24 CST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-2.2.1-all.zip

(2)9GAG/build.gradle

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

buildscript {
    repositories {
        jcenter()   声明仓库的源,这里指明的是jcenter(), 之前版本则是mavenCentral(), jcenter可是一个新的中央远程仓库,兼容maven中心仓库。
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'   声明了gradle插件的版本,和gradle版本有关。
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

(3)9GAG/settings.gradle

include ':app', ':extras:ShimmerAndroid'

文件中的 app, extras:ShimmerAndroid 都是module,如果还有其他module都需要按照如上格式加进去。

参考

http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/

原文地址:https://www.cnblogs.com/zadomn0920/p/6186715.html