2017-04-06 104 views
7

對不起,這個愚蠢的問題。
我的Android是新..
添加Facebook Android SDK依賴項後,我得到這個錯誤

加入的Android SDK Facebook的依賴關係後

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

我得到錯誤

compile 'com.android.support:appcompat-v7:25.3.1' 

但項目運行良好。

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較少...(按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' 
} 
+5

編譯 'com.android.support:cardview-v7:25.3.1' 編譯 'com.android.support:customtabs:25.3.1' 添加這兩個線路 –

+0

它是一種warning.Downgrade'編譯「融爲一體。 android.support:appcompat-v7:25.2.0'' –

+0

是@AwaisMajeed,項目運行良好。 –

回答

2

你可以用以下解決方案之一解決這個問題:original here

運行一個搖籃依賴報告中看到您的完整的依賴關係樹是。從那裏,你會看到你的哪一個庫需要不同版本的Android支持庫。無論它要求什麼,您都可以直接使用25.2.0版本,或者使用Gradle的其他衝突解決方案來安排獲取相同的版本。

運行:

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

例子:

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

對於我來說,除去com.google.android.gms後消失的錯誤:發揮服務: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依賴於支持庫的一些舊組件,所以我們需要自己明確地添加它們。

+0

作爲一個快捷方式,你也可以在這裏看到 - https://www.versioneye.com/java/com.facebook.android:facebook-android-sdk/4.21.0 - facebook SDK的依賴關係。 (對於其他版本的SDK,請嘗試替換該URL的4.21.0部分。) –

6

由於不同版本的依賴文件被下載,發生此問題。

明確地把它放在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 
+4

With'facebook-android-sdk:4.24.0'我必須使用'customtabs'來代替'animated-vector- drawable' – sosite

+0

@sosite你是怎麼弄出來的?如果Facebook SDK在內部告訴它下載較舊的版本,那麼如何手動列出要下載哪個版本的支持庫組件以解決該問題? – Flyview

0

也許我太晚了這一點,但好了,想是有幫助這裏...我這是怎麼解決這個問題。

開放

project/your project/.idea/libraries 

然後前往Facebook的SDK,你可以看到這個

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

用數字 「4.22.1」 到一個在的build.gradle

這是我怎麼做,我自己也是一個初學者。