代码之家  ›  专栏  ›  技术社区  ›  Ali Sheikhpour

android studio中的插件和依赖项是否具有优先级?

  •  0
  • Ali Sheikhpour  · 技术社区  · 7 年前

    当我像这样设置gradle文件时,一切都正常:

    dependencies {
        implementation 'com.google.firebase:firebase-messaging:11.0.4'
        compile 'com.android.support:support-v4:22.2.1'
    }
    
    apply plugin: 'com.google.gms.google-services'
    

    但是,当我交换依赖项和插件时,会出现以下错误:

    apply plugin: 'com.google.gms.google-services'
    
    dependencies {
        implementation 'com.google.firebase:firebase-messaging:11.0.4'
        compile 'com.android.support:support-v4:22.2.1'
    }
    

    所有gms/firebase库必须使用完全相同的版本 规范(混合版本可能导致运行时崩溃)。建立 版本9.0.0、11.0.4。示例包括 com。谷歌。安卓gms:游戏服务基础:9.0.0和 com。谷歌。安卓gms:游戏服务地下室:11.0.4

    gradle结构中是否有任何优先级,以及这与版本的关系?是 com.google.gms.google-services 所有版本的通用语法,如果不是,我应该如何在这里自定义其版本?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mike M.    7 年前

    这个 apply plugin: 'com.google.gms.google-services' 应该始终处于 build.gradle

    这个 google-services 插件有两个主要功能:

    1. 处理 google-services.json 文件并生成可在应用程序代码中使用的Android资源。看见 Adding the JSON File 更多信息。
    2. 为已启用的服务所需的基本库添加依赖项。此步骤要求 应用插件:“com。谷歌。gms。谷歌服务' 线路位于 底部 您的 app/build.gradle 这样就不会引入依赖冲突。您可以通过运行 ./gradlew :app:dependencies

    The Google Services Gradle Plugin