app中的build.gradle与app中的build.gradle

时间:2014-09-16 23:52:54

标签: android android-studio gradle android-gradle build.gradle

我在Android Studio中使用IntelliJ开始了一个项目。

该项目包含两个名为build.gradle的文件。一个位于文件夹app下,一个位于主文件夹下,即我的项目名称,例如MyProject

为什么需要两个?这两个build.gradle之间有什么区别?

1 个答案:

答案 0 :(得分:7)

Android Studio项目由模块,库,清单文件和Gradle构建文件组成。

每个项目都包含一个顶级 Gradle构建文件。 此文件名为 build.gradle ,可以在顶级目录中找到。

此文件通常包含所有模块的常用配置,常用功能..

示例:

  //gradle-plugin for android
  buildscript {
    repositories {
        mavenCentral()  //or jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'        
    }
  }

  // common variables
  ext {
     compileSdkVersion = 19
     buildToolsVersion = "20.0.0"
  }

  // a custom function
  def isReleaseBuild() {
     return version.contains("SNAPSHOT") == false
  }

  //common config for all projects
  allprojects {
     version = VERSION_NAME

     repositories {
       mavenCentral()
     }
  }

所有模块都有一个特定的build.gradle文件。 此文件包含有关模块的所有信息(因为项目可以包含更多模块),作为配置,构建tyoes,用于签署apk的信息,依赖项....

示例:

apply plugin: 'com.android.application'


android {
    //These lines use the constants declared in top file
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionName project.VERSION_NAME  //it uses a property declared in gradle.properties
        versionCode Integer.parseInt(project.VERSION_CODE) 
    }

    // Info about signing
    signingConfigs {
        release
    }

    // Info about your build types
    buildTypes {
        if (isReleaseBuild()) {
            release {
                signingConfig signingConfigs.release
            }
        }

        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-debug"
        }
    }

    // lint configuration
    lintOptions {
        abortOnError false
    }
}

//Declare your dependencies  
dependencies {
    //Local library
    compile project(':Mylibrary')
    // Support Libraries
    compile 'com.android.support:support-v4:20.0.0'
    // Picasso
    compile 'com.squareup.picasso:picasso:2.3.4'

}

您可以在此处找到更多信息: http://developer.android.com/sdk/installing/studio-build.html