添加Facebook Android SDK依赖项后,我收到此错误

时间:2017-04-06 13:05:28

标签: android sdk dependencies build.gradle facebook-sdk-4.0

对不起这个愚蠢的问题 我是Android新手..

添加Android Facebook SDK依赖项后

compile 'com.facebook.android:facebook-android-sdk:4.21.0'

我在

中遇到错误
compile 'com.android.support:appcompat-v7:25.3.1'

但Project正常运行。

enter image description here

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。发现   版本25.3.1,25.0.0。例子包括   com.android.support:animated-vector-drawable:25.3.1和   com.android.support:cardview-v7:25.0.0 less ...(Ctrl + F1)

     

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

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    repositories {
        mavenCentral()
    }

    defaultConfig {
        applicationId "sujeet.raj.com"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'

    testCompile 'junit:junit:4.12'

    compile 'com.facebook.android:facebook-android-sdk:4.21.0'
}

4 个答案:

答案 0 :(得分:7)

由于下载了不同版本的依赖项文件,会出现此问题。

明确地将其放在gradle文件中并再次同步。

compile 'com.android.support:animated-vector-drawable:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'

在此目录下,您可以找到下载的这些库

Project Files/Your project/.idea/libraries

答案 1 :(得分:3)

不要问我为什么,但这为我解决了这个问题:

android {
/.../
    configurations.all {
        resolutionStrategy.force 'com.android.support:cardview-v7:27.1.0'
        resolutionStrategy.force 'com.android.support:animated-verctor-drawable:27.1.0'
        resolutionStrategy.force 'com.android.support:customtabs:27.1.0'
        resolutionStrategy.force 'com.google.android.gms:play-services-base:12.0.1'
        resolutionStrategy.force 'com.google.android.gms:play-services-auth:12.0.1'
    }
}

答案 2 :(得分:2)

您可以使用以下解决方案之一解决此问题:original here

运行Gradle依赖关系报告以查看完整的依赖关系树是什么。从那里,您将看到您的哪个库要求提供不同版本的Android支持库。无论它要求什么,您可以直接使用25.2.0版本请求它,或使用Gradle的其他冲突解决方法来安排获得相同的版本。

执行命令

./gradlew -q dependencies <module-name>:dependencies --configuration compile

示例:

./gradlew -q dependencies app:dependencies --configuration compile

对我来说,删除com.google.android.gms后错误消失了:play-services:10.2.0

仅包含com.google.android.gms:play-services-location:10.2.0和com.google.android.gms:play-services-maps:10.2.0,因为它们是唯一的两个播放服务我用。

我认为gms:play-services依赖于支持库的一些旧组件,因此我们需要自己明确添加它们。

答案 3 :(得分:0)

也许我为此太迟了,但是,试图在这里提供帮助......这就是我解决它的方法。

打开

project/your project/.idea/libraries

然后前往facebook sdk,你可以看到这个

library name="facebook-android-sdk-4.22.1"

使用数字&#34; 4.22.1&#34;到build.gradle中的那个

我就是这样做的,我自己也是初学者。