【问题标题】:Add facebook dependency gradle error添加 facebook 依赖 gradle 错误
【发布时间】:2018-08-06 11:53:17
【问题描述】:

我为login with facebook 添加了以下依赖项,然后错误可以显示给我。

implementation 'com.facebook.android:facebook-login:[4,5)'

下面的错误告诉我:

所有 com.android.support 库必须使用完全相同的版本 规范(混合版本可能导致运行时崩溃)。成立 版本 27.1.1、27.0.2。例子包括 com.android.support:animated-vector-drawable:27.1.1 和 com.android.support:customtabs:27.0.2 少... (Ctrl+F1) 有 一些库或工具和库的组合,它们是 不兼容,或者可能导致错误。一种这样的不兼容性是 使用不支持的 Android 支持库版本进行编译 最新版本(或者特别是低于您的 targetSdkVersion)。

Gradle.build(app):

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:support-v4:27.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.+'
    implementation 'com.android.support:recyclerview-v7:27.1.+'

    implementation 'com.github.bumptech.glide:glide:4.3.1'

    //Volley
    implementation 'com.android.volley:volley:1.0.0'

    //facebook
    implementation 'com.facebook.android:facebook-login:[4,5)'

    implementation 'de.hdodenhof:circleimageview:2.2.0'

    implementation 'com.intuit.ssp:ssp-android:1.0.5'
    implementation 'com.intuit.sdp:sdp-android:1.0.5'

    implementation 'com.ramotion.foldingcell:folding-cell:1.2.2'

    implementation 'com.google.android.gms:play-services-maps:15.0.1'


    implementation project(':revealfab')
}

【问题讨论】:

  • 请发布您的 Gradel 文件代码,以便我们提供帮助,此警告与 Facebook API 无关,而是与核心 android API 依赖关系有关。
  • 试试implementation 'com.facebook.android:facebook-android-sdk:4.33.0',让我通知。
  • 您是否在项目级别的 build.gradle 中添加了 mavencentral()
  • 使用v7:27.1.1

标签: android build.gradle


【解决方案1】:

由于错误明确提到混合 lib 版本不是一个好主意(混合版本可能导致运行时崩溃),所以不要那样做。在这里,您使用的是 7:27.1.17:27.1.+。因此,请为所有库保持相同的版本。

代替:

implementation 'com.facebook.android:facebook-login:[4,5)' // this is wrong
implementation 'com.android.support:cardview-v7:27.1.+'
implementation 'com.android.support:recyclerview-v7:27.1.+'

用途:

implementation 'com.facebook.android:facebook-login:4.35.0' //latest version and correct correct way
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'

【讨论】:

  • 好吧,我使用了你给定的依赖,但同样的错误显示给我
  • @MohammadAli 请查看更新后的答案。希望对你有帮助
  • 当我关注你的更新时回答这个错误告诉我Failed to resolve: com.android.support:cardview-v7:27.1
  • @MohammadAli 您现在遇到什么错误?你可以试试Invalidate Cache/Restart吗?
【解决方案2】:

不要

implementation 'com.facebook.android:facebook-login:[4,5)'

其中一个不兼容的问题是使用 Android 版本编译 支持不是最新版本的库(或者特别是 版本低于您的 targetSdkVersion。

你应该试试

implementation 'com.facebook.android:facebook-android-sdk:4.33.0' //4.35.0

更多详情,请访问Facebook SDK

仅供参考

使用正确的版本

    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'

确定,添加

allprojects {
    repositories {
        google()
        jcenter()

    }
}

【讨论】:

  • 我听从你的回答,但对我没有帮助
【解决方案3】:

试试这个对你有帮助

// Facebook Login only
implementation 'com.facebook.android:facebook-login:4.+'

【讨论】:

    【解决方案4】:

    首先,在项目级的 Gradle 中添加如下代码:

    ext {
    
        supportLibraryVersion = "27.1.1"
    
    }
    

    之后,添加app级的Gradle:

    1- 添加相同的库版本

    2- 添加以下代码:

    compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
        compile "com.android.support:design:$rootProject.supportLibraryVersion"
        compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    

    【讨论】: