16

I am having this error:

enter image description here

On getting dependency tree, I found that there is nothing wrong with animated vector drawables but facebook's latest sdk has previous version of support-v4 custom tab. I tried excluding with exclude group command but its not working. Here is my dependency tree:

 +--- com.facebook.android:facebook-android-sdk:4.26.0@aar
|    +--- com.android.support:support-v4:26.0.1@aar
|    |    +--- com.android.support:support-compat:26.0.1@aar
|    |    |    \--- com.android.support:support-annotations:26.0.1@jar
|    |    +--- com.android.support:support-media-compat:26.0.1@aar
|    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    +--- com.android.support:support-core-utils:26.0.1@aar
|    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    +--- com.android.support:support-core-ui:26.0.1@aar
|    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    \--- com.android.support:support-fragment:26.0.1@aar
|    |         +--- com.android.support:support-compat:26.0.1@aar
|    |         |    \--- com.android.support:support-annotations:26.0.1@jar
|    |         +--- com.android.support:support-core-ui:26.0.1@aar
|    |         |    +--- com.android.support:support-annotations:26.0.1@jar
|    |         |    \--- com.android.support:support-compat:26.0.1@aar
|    |         |         \--- com.android.support:support-annotations:26.0.1@jar
|    |         \--- com.android.support:support-core-utils:26.0.1@aar
|    |              +--- com.android.support:support-annotations:26.0.1@jar
|    |              \--- com.android.support:support-compat:26.0.1@aar
|    |                   \--- com.android.support:support-annotations:26.0.1@jar
|    +--- com.android.support:appcompat-v7:26.0.1@aar
|    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    +--- com.android.support:support-v4:26.0.1@aar
|    |    |    +--- com.android.support:support-compat:26.0.1@aar
|    |    |    |    \--- com.android.support:support-annotations:26.0.1@jar
|    |    |    +--- com.android.support:support-media-compat:26.0.1@aar
|    |    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    |    +--- com.android.support:support-core-utils:26.0.1@aar
|    |    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    |    +--- com.android.support:support-core-ui:26.0.1@aar
|    |    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    |    \--- com.android.support:support-fragment:26.0.1@aar
|    |    |         +--- com.android.support:support-compat:26.0.1@aar
|    |    |         |    \--- com.android.support:support-annotations:26.0.1@jar
|    |    |         +--- com.android.support:support-core-ui:26.0.1@aar
|    |    |         |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |         |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |         |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    |         \--- com.android.support:support-core-utils:26.0.1@aar
|    |    |              +--- com.android.support:support-annotations:26.0.1@jar
|    |    |              \--- com.android.support:support-compat:26.0.1@aar
|    |    |                   \--- com.android.support:support-annotations:26.0.1@jar
|    |    +--- com.android.support:support-vector-drawable:26.0.1@aar
|    |    |    +--- com.android.support:support-annotations:26.0.1@jar
|    |    |    \--- com.android.support:support-compat:26.0.1@aar
|    |    |         \--- com.android.support:support-annotations:26.0.1@jar
|    |    \--- com.android.support:animated-vector-drawable:26.0.1@aar
|    |         +--- com.android.support:support-vector-drawable:26.0.1@aar
|    |         |    +--- com.android.support:support-annotations:26.0.1@jar
|    |         |    \--- com.android.support:support-compat:26.0.1@aar
|    |         |         \--- com.android.support:support-annotations:26.0.1@jar
|    |         \--- com.android.support:support-core-ui:26.0.1@aar
|    |              +--- com.android.support:support-annotations:26.0.1@jar
|    |              \--- com.android.support:support-compat:26.0.1@aar
|    |                   \--- com.android.support:support-annotations:26.0.1@jar
|    +--- com.android.support:cardview-v7:26.0.1@aar
|    |    \--- com.android.support:support-annotations:26.0.1@jar
|    +--- com.android.support:customtabs:25.3.1@aar
|    |    +--- com.android.support:support-compat:26.0.1@aar
|    |    |    \--- com.android.support:support-annotations:26.0.1@jar
|    |    \--- com.android.support:support-annotations:26.0.1@jar
|    +--- com.parse.bolts:bolts-android:1.4.0@jar
|    |    +--- com.parse.bolts:bolts-tasks:1.4.0@jar
|    |    \--- com.parse.bolts:bolts-applinks:1.4.0@jar
|    |         \--- com.parse.bolts:bolts-tasks:1.4.0@jar
|    \--- com.google.zxing:core:3.3.0@jar

I want to use latest appcompat library as I want to support Oreo. Can someone guide me on this? Also, isn't this facebook's fault to use older dependency for custom tabs? Thank you very much for your time and assistance in this matter.

ישו אוהב אותך
  • 28,609
  • 11
  • 78
  • 96
Rushi M Thakker
  • 679
  • 2
  • 15
  • 34

2 Answers2

31

Facebook SDK for Android is using support library version 25.3.1, so you need to exclude it to use the most recent support library. You can try using the following:

// Facebook SDK Dependencies, need to be excluded.
// compile 'com.android.support:support-v4:25.3.1'
// compile 'com.android.support:appcompat-v7:25.3.1'
// compile 'com.android.support:cardview-v7:25.3.1'
// compile 'com.android.support:customtabs:25.3.1'

compile ('com.facebook.android:facebook-android-sdk:4.26.0') {
     exclude group: 'com.android.support', module: 'support-v4'
     exclude group: 'com.android.support', module: 'appcompat-v7'
     exclude group: 'com.android.support', module: 'cardview-v7'
     exclude group: 'com.android.support', module: 'customtabs'
}
ישו אוהב אותך
  • 28,609
  • 11
  • 78
  • 96
  • Thanks a lot!! It worked. But dependency tree showed that only customtabs was 25.3.1. Also why is facebook sleeping? Any idea? – Rushi M Thakker Sep 14 '17 at 07:36
  • imho, the above code is just a simple way to ensure the conflicted support library is not included for facebook sdk version 4.26.0. You can try to exclude only the customtabs. I'm sorry, I really don't get the meaning of `why is facebook sleeping?` Could you elaborate it more? – ישו אוהב אותך Sep 14 '17 at 08:14
  • I tried for customtabs it didn't work. Regarding facebook sleeping, was just a joke. I mean why haven't they upgraded dependencies in their sdk. – Rushi M Thakker Sep 14 '17 at 08:53
  • That's probably because the customtabs is using another support library like support-v4 in it. Ohhhh... It seems I'm getting a bit rusty :P. My guess is because they want to stick with a stable support library. – ישו אוהב אותך Sep 14 '17 at 09:03
  • Haha...Stay young. I think support library 26 must be pretty stable as now it is in second phase,i.e,26.0.2 When will it get stable? Any Ideas? Also android studio 3.0 is taking long time to release – Rushi M Thakker Sep 14 '17 at 09:13
  • No any ideas on that :P – ישו אוהב אותך Sep 21 '17 at 13:09
22

For facebook-android-sdk:4.28.0 the list is a bit longer ;)

implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:customtabs:26.1.0'
implementation 'com.android.support:support-annotations:26.1.0'
implementation 'com.android.support:support-core-utils:26.1.0'
implementation('com.facebook.android:facebook-android-sdk:4.28.0') {
    exclude group: 'com.android.support', module: 'support-v4'
    exclude group: 'com.android.support', module: 'appcompat-v7'
    exclude group: 'com.android.support', module: 'cardview-v7'
    exclude group: 'com.android.support', module: 'customtabs'
    exclude group: 'com.android.support', module: 'support-annotations'
    exclude group: 'com.android.support', module: 'support-core-utils'
}
Jordan Silva
  • 833
  • 8
  • 18
  • 2
    Any solution for 4.29.0? It comes with 27.0.1 but last support is 27.0.2, so if I exclude com.android.support from Facebook sdk like in 4.28.0 it returns some combile errors :( -> .../.gradle/caches/transforms-1/files-1.1/facebook-common-4.29.0.aar/be3a9d27cd44a8128aadc980156f8f12/res/layout/com_facebook_device_auth_dialog_fragment.xml. I tried to delete caches from gadle but didn't help – Pelanes Feb 09 '18 at 09:58
  • I just upgraded fb sdk to 4.30.0 using support library 27.0.2 and it works perfectly. Just have to remove all the exclude and the implementation lines. So could do the same if you are not using it yet. – Jordan Silva Feb 20 '18 at 19:14