所有gms / firebase库必须使用完全相同的版本规范Android

时间:2018-03-05 08:46:13

标签: android firebase android-gradle

尽管要更新  'com.google.firebase:firebase-crash:11.8.0'apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'com.google.firebase.firebase-crash' repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/ksoap2-android-releases/" } maven { url 'https://maven.fabric.io/public' } } android { compileSdkVersion 27 buildToolsVersion "27.0.3" dexOptions { jumboMode = true } defaultConfig { applicationId "com.myapp.myapp" minSdkVersion 16 multiDexEnabled true targetSdkVersion 27 versionCode 6 versionName '1.1' ndk { abiFilters "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { debuggable true } } productFlavors { } // configurations { // all*.exclude group: 'org.apache.commons' // } } repositories { mavenCentral() } configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { if (!requested.name.startsWith("multidex")) { details.useVersion "$rootProject.ext.supportLibraryVersion" } } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':platform') compile project(':ahbottomnavigation') compile project(':mylibrary') compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') { transitive = true } compile('com.google.android.gms:play-services-cast-framework:10.2.0') { exclude group: 'com.android.support', module: 'mediarouter-v7' } compile project(':bottom-bar') compile project(':journey') compile "com.android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion" compile "com.android.support:recyclerview-v7:$rootProject.ext.supportLibraryVersion" compile 'com.google.firebase:firebase-crash:11.8.0' compile 'com.github.rahatarmanahmed:circularprogressview:2.5.0' compile 'com.flurry.android:analytics:6.9.0' compile "com.android.support:mediarouter-v7:$rootProject.ext.supportLibraryVersion" compile 'com.googlecode.android-query:android-query:0.25.9' compile 'com.github.hotchemi:android-rate:1.0.1' compile "com.android.support:cardview-v7:$rootProject.ext.supportLibraryVersion" compile "com.android.support:support-v4:$rootProject.ext.supportLibraryVersion" compile 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.facebook.android:facebook-login:4.31.0' testCompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services' 我收到此错误

  

所有gms / firebase库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。发现   版本11.8.0,10.2.0。例子包括   com.google.android.gms:play-services-basement:11.8.0和   com.google.android.gms:播放服务基:10.2.0

如何解决此错误?

app build.gradle

model

$ rootProject.ext.supportLibraryVersion == '27.1.0'

4 个答案:

答案 0 :(得分:1)

我不知道子项目的 build.gradle 是什么样的,它们应该与 app build.gradle 的版本相同,如果你使用的话子项目中的com.google.个库。

但是,您的compile('com.google.android.gms:play-services-cast-framework:10.2.0')应该具有相同的版本11.8.0

答案 1 :(得分:1)

您需要将以下依赖项更改为11.8.0

compile('com.google.android.gms:play-services-cast-framework:10.2.0') {
    exclude group: 'com.android.support', module: 'mediarouter-v7'
}

因为firebase-crash使用11.8.0

compile 'com.google.firebase:firebase-crash:11.8.0'

答案 2 :(得分:1)

所有google gms依赖项和firebase依赖项必须具有相同的版本号。例如。在您的情况下,您使用11.8.0代表Firebase,10.2.0代表'com.google.android.gms:play-services-cast-framework:10.2.0'

答案 3 :(得分:0)

首先,您指的是Google Play服务和Firebase的版本很旧。现在,请参阅以下内容:

Google Play服务-latest set of libraries

Firebase-latest set of libraries

第二,升级后,您可能会发现无法获得所有库的相同版本,这是设计使然。 Google现在使用一种新的版本控制系统,如其2018年5月博客文章announcing new SDK versioning中所述。因此,不再适合使用所有相同的版本号。根据Google的说法,升级到Android Studio 3.1即可停止收到该警告。