【问题标题】:All gms/firebase libraries must use the exact same version specification所有 gms/firebase 库必须使用完全相同的版本规范
【发布时间】:2018-10-10 12:35:59
【问题描述】:

所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本 15.0.0、12.0.1。示例包括 com.google.android.gms:play-services-ads:15.0.0 和 com.google.android.gms:play-services:12.0.1

有些库或工具和库的组合不兼容,或者可能导致错误。一种这样的不兼容性是使用不是最新版本的 Android 支持库版本进行编译(或者特别是低于您的 targetSdkVersion 的版本)。

android studio 给我这个错误。如何解决这个错误?这是显示错误的图像。

【问题讨论】:

  • 使用15.0.0 而不是12.0.1
  • 如果我使用 com.google.android.gms:play-services:15.0.0 它再次给我错误,这是 Failed to resolve: com.google.android.gms:play-services: 15.0.0
  • 添加repositories { jcenter() google() }

标签: android android-studio libraries


【解决方案1】:

您需要在build.gradle 文件中添加解析策略,以告知在构建应用程序时需要使用哪个版本的库。配置可能看起来像这样。

configurations.all {
    resolutionStrategy {
        force 'com.android.support:design:25.3.1'
        force 'com.android.support:support-v4:25.3.1'
        force 'com.android.support:appcompat-v7:25.3.1'
    }
}

根据您对库版本的要求进行修改。

【讨论】:

    【解决方案2】:

    首先使用整个播放服务是错误的,除非你真的需要每个子包,但是从你的截图中你已经在使用一些子包。使用整个 play 服务包可能意味着您需要多 dex 支持,因为您包含了很多不需要的方法,Proguard 在这种情况下是您的朋友。所以我的回答是:删除那一行。

    【讨论】:

    • 如果给我 2 个错误,我现在删除了该行。第一个是 AAPT2 错误:检查日志以获取详细信息,第二个是样式父级的无效资源类型“attr”
    • 你真的认为我们这里有水晶球吗?编辑问题并添加您遇到的错误和例外情况
    【解决方案3】:

    正如它自己所说的那样

    找到版本 15.0.0、12.0.1。

    您应该对所有 google gms 库使用相同的版本。

    替换这一行

    compile 'com.google.android.gms:play-services:12.0.1'
    

    有了这个

    compile 'com.google.android.gms:play-services:15.0.0'
    

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 1970-01-01
      • 2018-05-04
      • 2017-11-12
      相关资源
      最近更新 更多