gradle基本概念

来源:互联网 发布:mysql innerjoin 编辑:程序博客网 时间:2024/06/05 00:23

这里写图片描述

红色标记部分从上到下来一步步分析


  1. 9GAG/app/build.gradle
// 声明是Android程序apply plugin: 'com.android.application'android {    // 编译SDK的版本    compileSdkVersion 21    // build tools的版本    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')}
  1. 9GAG/extras/ShimmerAndroid/build.gradle

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

    这个目录下有个 wrapper 文件夹,里面可以看到有两个文件,我们主要看下 gradle-wrapper.properties 这个文件的内容
#Thu Dec 18 16:02:24 CST 2014distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
  1. 9GAG/build.gradle

    这个文件是整个项目的gradle基础配置文件,我们来看看这里面的内容
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.0.0'    }}allprojects {        repositories {            jcenter()        }    }
内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。

5. 9GAG/settings.gradle

    这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,我们来看看9GAG该文件的内容:```

include ‘:app’, ‘:extras:ShimmerAndroid’
“`

0 0