在Gradle构建文件中放置apply Crashlytics插件指令的位置

Max*_*lis 10 plugins android gradle crashlytics

最近我将我的android项目从Eclipse迁移到了Android Studio.目前我的项目具有以下Gradle脚本结构:

  • 顶级gradle构建文件
  • 主模块(我的应用程序)gradle构建文件
  • 模块A(我的应用程序)gradle构建文件
  • 模块B(我的应用程序)gradle构建文件
  • 模块C(我的应用程序)gradle构建文件

我的主gradle构建文件的内容:

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

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.1'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

}

allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

我想确保整个项目都有崩解剂.我最初尝试添加

apply plugin: 'crashlytics'
Run Code Online (Sandbox Code Playgroud)

到主项目gradle文件,但我遇到以下错误:

错误:(2,0)Crashlytics应用于没有Android插件的项目.请确保在适合您项目的Android插件之后应用Crashlytics插件.

然后我移动apply plugin: 'crashlytics'到主模块(我的应用程序)gradle构建文件,构建成功.

由于我是Gradle和Android Studio的新手,因此我不确定是否还需要子模块A,B,C以允许崩解剂捕获从这些模块生成的异常.另外我想知道为什么我不能(或者我怎么能)将"apply plugin:'crashlytics'"添加到主项目gradle文件中.

谁能为我澄清一下?