gms播放服务的Android依赖问题

时间:2015-12-10 19:30:54

标签: android gradle android-gradle libraries

我收到一个错误,因为我正在尝试使用Google提供的应用索引库,同时还导入了一个库,该库使用较旧版本的android gms库作为其他组件 - 来自Google的演员库播放服务。该错误指出“所有com.google.android.gms库必须使用完全相同的版本规范(混合版本可能导致runtine崩溃)。找到版本8.30,7.80。示例包括com.google.android.gms:play-servics- appindexing:8.3.0和com.google.android.gms:play-services-cast:7.8.0。 不知道如何解决这个问题,因为我无法更新我正在导入的connecteddk中使用的版本,我需要版本8.3.0才能进行应用程序索引。我的gradle文件如下:

模块

android {

compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'

defaultConfig {
    applicationId xxx.xxx.xxx.xxx"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 10005
    versionName "1.0.5"
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}


dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/commons-lang3-3.3.2.jar')
compile files('libs/universal-image-loader-1.9.3.jar')
compile 'com.android.support:multidex:1.0.1'
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services-appindexing:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile ('com.connectsdk:connect-sdk-android:1.6.+')

**Project**:

 buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.google.gms:google-services:1.5.0-beta2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
    }

allprojects {
    repositories {
        jcenter()

    }
}

1 个答案:

答案 0 :(得分:1)

您始终可以告诉Gradle使用最新版本的依赖项;它会自动覆盖您的传递依赖项请求。例如,如果这在您的build.gradle

compile 'com.google.android.gms:play-services-cast:8.3.0'
compile 'com.connectsdk:connect-sdk-android:1.6.0'

即使connect-sdk-android v1.6.0使用了play-services-cast v7.8.0,你的最终版本仍然会获得8.3.0。

也就是说,如果Connect SDK的库不能与8.3.0一起使用,那么你就会陷入困境,直到他们无论如何更新他们的库。在这种情况下,您可能希望在their library's issue page上告知他们问题。