All com.android.support libraries must use the exact same version specification

前端 未结 30 2847
忘掉有多难
忘掉有多难 2020-11-21 05:10

After updating to android studio 2.3 I got this error message. I know it\'s just a hint as the app run normally but it\'s really strange.

All com.andr

30条回答
  •  佛祖请我去吃肉
    2020-11-21 05:39

    A) Run gradle dependencies or ./gradlew dependencies

    B) Look at your tree and figure out which of your dependencies is specifying a different support library version for a dependency you don't control.

    I didn't realize that this warning also displays if the dependency is completely unused directly by your own code. In my case, Facebook specifies some support libs I wasn't using, you can see below most of those dependencies were overridden by my own specification of 25.2.0, denoted by the -> X.X.X (*) symbols. The card view and custom tabs libs weren't overridden by anyone, so I need to ask for 25.2.0 for those ones myself even though I don't use them.

    +--- com.facebook.android:facebook-android-sdk:4.17.0
    |    +--- com.android.support:support-v4:25.0.0 -> 25.2.0 (*)
    |    +--- com.android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
    |    +--- com.android.support:cardview-v7:25.0.0
    |    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
    |    +--- com.android.support:customtabs:25.0.0
    |    |    +--- com.android.support:support-compat:25.0.0 -> 25.2.0 (*)
    |    |    \--- com.android.support:support-annotations:25.0.0 -> 25.2.0
    |    \--- com.parse.bolts:bolts-android:1.4.0 (*)
    

    If gradle has already warned you and given you examples...

    Examples include com.android.support:animated-vector-drawable:25.1.1 and com.android.support:mediarouter-v7:24.0.0

    ... it's even easier if you throw in some grep highlighting for the lower version since gradle dependencies can be quite verbose:

    ./gradlew dependencies | grep --color -E 'com.android.support:mediarouter-v7|$'
    

提交回复
热议问题