Gradle版本问题

时间:2017-05-20 06:59:13

标签: android android-gradle build.gradle

我在app的build.grade中收到以下错误(图片) 它说所有常见的库都应该使用相同的版本。但我实际上使用的是同一版本。以下是我的应用:gradle文件。

在示例中,它显示了com.google.android.gms:play-services-ads-lite:10.2.1 和com.google.android.gms:play-services-appinvite:10.2.0。

但我的gradle并不包含以上两个版本。

enter image description here

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    configurations.all {
        resolutionStrategy.force 'junit:junit:4.11'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.google.android.gms:play-services-location:10.2.1'
    compile 'com.google.android.gms:play-services-ads:10.2.1'
    compile 'com.google.android.gms:play-services-auth:10.2.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.android.support:support-vector-drawable:25.3.1'
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    compile 'com.google.firebase:firebase-invites:10.2.0'
    compile 'com.google.firebase:firebase-ads:10.2.0'
    compile 'com.google.firebase:firebase-core:10.2.0'
    compile 'com.google.firebase:firebase-auth:10.2.0'
    compile 'com.theartofdev.edmodo:android-image-cropper:2.4.+'
    compile 'com.google.firebase:firebase-messaging:10.2.0'
    compile 'commons-io:commons-io:2.5'
    compile 'se.walkercrou:google-places-api-java:2.1.7'
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'

    testCompile 'junit:junit:4.11'
}

apply plugin: 'com.google.gms.google-services'

3 个答案:

答案 0 :(得分:0)

将Google Play依赖关系版本10.2.1更改为10.2.0 像那样

compile 'com.google.android.gms:play-services-location:10.2.0'
compile 'com.google.android.gms:play-services-ads:10.2.0'
compile 'com.google.android.gms:play-services-auth:10.2.0'

答案 1 :(得分:0)

现在没有我的电脑,但尝试将firebase libs版本设置为10.2.1,这可能会触发错误

答案 2 :(得分:0)

我通常会运行一个类似于:

的脚本
gradlew dependencies app:dependencies --configuration compile >> dependencies.txt

那将吐出一个依赖树,我可以找出导致冲突的那个,并且升级lib依赖于较低版本或降级lib使用较高版本。

例如,Firebase目前高达10.2.6,并且依赖于com.android.support:support-compat:25.2.0。但是,最新的com.facebook.android:facebook-android-sdk:4.+ -> 4.22.1依赖于com.android.support:support-v4:25.0.0,所以在Facebook SDK更新到最新版本之前,我正在运行Firebase 10.2.4。