android studio中的依赖关系。插件Vs库,DSL Vs API

时间:2016-08-06 07:21:48

标签: android dependencies android-gradle dsl gradle-plugin

我在项目中使用了Firebase Cloud Message Service。我在android中阅读了针对Integrate的Firebase文档,并看到此行添加到项目的 build.gradle 中。

 classpath 'com.google.gms:google-services:3.0.0'

我的问题是:

为什么我们必须使用谷歌服务版 3.0.0 ?最新的是 9.4.0

版本:Tnx Gabriele。根据@ Gabriele,它的插件不是库。那么插件和库有什么区别呢。 DSL和API有什么不同? API是依赖于DSL还是DSL取决于API?

1 个答案:

答案 0 :(得分:2)

不要将buildscript依赖项与库依赖项混淆:

buildscript依赖项中,您将定义脚本使用的插件。在这种情况下,您要添加 google-services插件

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

dependencies部分中,您将定义使用的库。

dependencies {
    compile 'com.android.support:support-v4:24.1.1'
    compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-messaging:9.4.0'    
}