首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android facebook库冲突,如何排除冲突?

Android facebook库冲突,如何排除冲突?
EN

Stack Overflow用户
提问于 2018-01-09 11:30:26
回答 4查看 3.1K关注 0票数 7

正式的facebook库与android冲突,特别是:'com.android.support:animated-vector-drawables:27.0.1'

级:

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "re.tryout123"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}



repositories {
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile 'com.android.support:design:26.0.1'
    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'


    compile ('com.facebook.android:facebook-android-sdk:4.+') {
        //Tryin to exlude the conflicting lib... 
        exclude group: 'com.android.support', module: 'animated-vector-drawable'
    }


    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true;
    }
}

冲突:

错误文本:

所有com.android.support库都必须使用精确的sasme版本规范(混合版本会导致运行时崩溃)。找到27.0.1,26.0.1版本。示例包括com.android.support:animated-vector-drawable:27.0.1和COMandroid.Support:设计:26.0.1

如果我删除facebook导入,冲突就消失了,所以我的问题是,如何从facebook的lib中排除动画向量绘图?

您可以看到我如何尝试在gradle文件,但现在成功了。

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-01-15 02:27:30

首先在终端中为您的应用程序执行./gradlew app:dependencies,然后您将得到

代码语言:javascript
复制
+--- com.android.support:design:26.0.1
|    +--- com.android.support:support-v4:26.0.1 -> 27.0.1
|    |    +--- com.android.support:support-compat:27.0.1
|    |    |    +--- com.android.support:support-annotations:27.0.1
|    |    |    \--- android.arch.lifecycle:runtime:1.0.0
|    |    |         +--- android.arch.lifecycle:common:1.0.0
|    |    |         \--- android.arch.core:common:1.0.0
|    |    +--- com.android.support:support-media-compat:27.0.1
|    |    |    +--- com.android.support:support-annotations:27.0.1
|    |    |    \--- com.android.support:support-compat:27.0.1 (*)
|    |    +--- com.android.support:support-core-utils:27.0.1
|    |    |    +--- com.android.support:support-annotations:27.0.1
|    |    |    \--- com.android.support:support-compat:27.0.1 (*)
|    |    +--- com.android.support:support-core-ui:27.0.1
|    |    |    +--- com.android.support:support-annotations:27.0.1
|    |    |    \--- com.android.support:support-compat:27.0.1 (*)
|    |    \--- com.android.support:support-fragment:27.0.1
|    |         +--- com.android.support:support-compat:27.0.1 (*)
|    |         +--- com.android.support:support-core-ui:27.0.1 (*)
|    |         +--- com.android.support:support-core-utils:27.0.1 (*)
|    |         \--- com.android.support:support-annotations:27.0.1
|    +--- com.android.support:appcompat-v7:26.0.1 -> 27.0.1
|    |    +--- com.android.support:support-annotations:27.0.1
|    |    +--- com.android.support:support-core-utils:27.0.1 (*)
|    |    +--- com.android.support:support-fragment:27.0.1 (*)
|    |    +--- com.android.support:support-vector-drawable:27.0.1
|    |    |    +--- com.android.support:support-annotations:27.0.1
|    |    |    \--- com.android.support:support-compat:27.0.1 (*)
|    |    \--- com.android.support:animated-vector-drawable:27.0.1
|    |         +--- com.android.support:support-vector-drawable:27.0.1 (*)
|    |         \--- com.android.support:support-core-ui:27.0.1 (*)
|    +--- com.android.support:recyclerview-v7:26.0.1
|    |    +--- com.android.support:support-annotations:26.0.1 -> 27.0.1
|    |    +--- com.android.support:support-compat:26.0.1 -> 27.0.1 (*)
|    |    \--- com.android.support:support-core-ui:26.0.1 -> 27.0.1 (*)
|    \--- com.android.support:transition:26.0.1
|         +--- com.android.support:support-annotations:26.0.1 -> 27.0.1
|         \--- com.android.support:support-v4:26.0.1 -> 27.0.1 (*)
+--- com.android.support:appcompat-v7:26.0.1 -> 27.0.1 (*)
+--- com.android.support:recyclerview-v7:26.0.1 (*)
+--- com.facebook.android:facebook-android-sdk:4.+ -> 4.29.0
|    +--- com.facebook.android:facebook-core:4.29.0
|    |    +--- com.parse.bolts:bolts-android:1.4.0
|    |    |    +--- com.parse.bolts:bolts-tasks:1.4.0
|    |    |    \--- com.parse.bolts:bolts-applinks:1.4.0
|    |    |         \--- com.parse.bolts:bolts-tasks:1.4.0
|    |    +--- com.android.support:support-annotations:27.0.1
|    |    \--- com.android.support:support-core-utils:27.0.1 (*)
|    +--- com.facebook.android:facebook-common:4.29.0
|    |    +--- com.facebook.android:facebook-core:4.29.0 (*)
|    |    +--- com.android.support:appcompat-v7:27.0.1 (*)
|    |    +--- com.android.support:cardview-v7:27.0.1
|    |    |    \--- com.android.support:support-annotations:27.0.1
|    |    +--- com.android.support:customtabs:27.0.1
|    |    |    +--- com.android.support:support-compat:27.0.1 (*)
|    |    |    \--- com.android.support:support-annotations:27.0.1
|    |    +--- com.android.support:support-v4:27.0.1 (*)
|    |    \--- com.google.zxing:core:3.3.0
|    +--- com.facebook.android:facebook-login:4.29.0
|    |    +--- com.facebook.android:facebook-core:4.29.0 (*)
|    |    \--- com.facebook.android:facebook-common:4.29.0 (*)
|    +--- com.facebook.android:facebook-share:4.29.0
|    |    +--- com.facebook.android:facebook-core:4.29.0 (*)
|    |    \--- com.facebook.android:facebook-common:4.29.0 (*)
|    +--- com.facebook.android:facebook-places:4.29.0
|    |    \--- com.facebook.android:facebook-core:4.29.0 (*)
|    +--- com.facebook.android:facebook-applinks:4.29.0
|    |    \--- com.facebook.android:facebook-core:4.29.0 (*)
|    \--- com.facebook.android:facebook-messenger:4.29.0
|         \--- com.facebook.android:facebook-core:4.29.0 (*)
\--- com.crashlytics.sdk.android:crashlytics:2.6.8
     +--- com.crashlytics.sdk.android:beta:1.2.5
     |    \--- io.fabric.sdk.android:fabric:1.3.17
     +--- io.fabric.sdk.android:fabric:1.3.17
     +--- com.crashlytics.sdk.android:crashlytics-core:2.3.17
     |    +--- io.fabric.sdk.android:fabric:1.3.17
     |    \--- com.crashlytics.sdk.android:answers:1.3.13
     |         \--- io.fabric.sdk.android:fabric:1.3.17
     \--- com.crashlytics.sdk.android:answers:1.3.13 (*)

通过com.android.support搜索,您可以看到有很多地方使用它与2版本的27.0.126.0.1。这就是你有警告的原因。来修复它

First way:让你的应用程序只使用26.0.1,排除所有的facebook的 com.android.support... 27.0.1

代码语言:javascript
复制
compile ('com.facebook.android:facebook-android-sdk:4.+') {
  exclude  group:'com.android.support', module:'support-annotations'
  exclude  group:'com.android.support', module:'support-core-utils'
  exclude  group:'com.android.support', module:'appcompat-v7'
  exclude  group:'com.android.support', module:'customtabs'
  exclude  group:'com.android.support', module:'support-v4'
  exclude  group: 'com.android.support', module:'cardview-v7'
}

排除工作很好,但有一个问题:cardview-v7customtabs缺失(因为目前没有库提供cardview-v7customtabs)。所以你需要编译

代码语言:javascript
复制
compile 'com.android.support:cardview-v7:26.0.1'
compile 'com.android.support:customtabs:26.0.1'

第二条路:让你的应用程序只使用27.0.1

  • compileSdkVersion从26升级到27
  • 将下面的所有编译从26.0.1更新为27.0.1
代码语言:javascript
复制
 `compile 'com.android.support:design:26.0.1'     compile 'com.android.support:appcompat-v7:26.0.1'     compile 'com.android.support:recyclerview-v7:26.0.1'` 

您可以通过流程来解决类似的here问题。希望能帮上忙

票数 13
EN

Stack Overflow用户

发布于 2018-01-12 20:33:56

我的建议是:不要将libs排除在facebook之外,而是强制gradle使用特定的lib版本:

代码语言:javascript
复制
configurations.all {
resolutionStrategy.force 'com.android.support:cardview-v7:26.0.1'
resolutionStrategy.force 'com.android.support:customtabs:26.0.1'

}

还删除exclude group部件:

代码语言:javascript
复制
compile 'com.android.support:design:26.0.1'
compile 'com.android.support:appcompat-v7:26.0.1'
compile 'com.android.support:recyclerview-v7:26.0.1'

compile('com.facebook.android:facebook-android-sdk:4.28.0')

资料来源http://www.vogella.com/tutorials/Gradle/article.html#forcing-a-specific-version-of-a-transitive-dependency

我是如何在Android中通过项目视图中的外部库找到这两个库的?

提示:我绝对建议而不是在依赖项中使用+签名(即使是小版本)。使用plus,您无法在签出特定提交时重新创建应用程序状态。

票数 1
EN

Stack Overflow用户

发布于 2018-01-09 13:34:47

尝试使用Facebook版本4.28.0

代码语言:javascript
复制
 compile 'com.facebook.android:facebook-android-sdk:4.28.0'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48167228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档