web-dev-qa-db-ja.com

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります。

Android Studio 2.3にアップデートした後、このエラーメッセージが表示されました。アプリが正常に実行されているため、単なるヒントにすぎませんが、非常に奇妙です。

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムクラッシュが発生する可能性があります)。バージョン25.1.1、24.0.0が見つかりました。例としては、com.Android.support:animated-vector-drawable:25.1.1およびcom.Android.support:mediarouter-v7:24.0.0があります。

enter image description here

私のgradle:

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'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.Android.support:appcompat-v7:25.1.1'
    compile 'com.Android.support:support-v4:25.1.1'
    compile 'com.Android.support:design:25.1.1'
    compile 'com.Android.support:recyclerview-v7:25.1.1'
    compile 'com.Android.support:cardview-v7:25.1.1'
    compile 'com.google.Android.gms:play-services-maps:10.2.0'
    compile 'com.google.Android.gms:play-services:10.2.0'

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    compile 'com.blankj:utilcode:1.3.6'
    compile 'com.orhanobut:logger:1.15'
    compile 'com.facebook.stetho:stetho:1.4.2'

    provided 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.google.auto.value:auto-value:1.2'
    annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'

    compile 'com.mikepenz:iconics-core:2.8.2@aar'
    compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
    compile 'me.zhanghai.Android.materialprogressbar:library:1.3.0'
    compile 'com.github.GrenderG:Toasty:1.1.1'
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
    compile 'com.github.MAXDeliveryNG:slideview:1.0.0'

    compile 'com.facebook.fresco:fresco:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'

    compile 'com.google.maps.Android:android-maps-utils:0.4.4'
    compile 'com.github.jd-alexander:library:1.1.0'
}
669
humazed

次のいずれかの方法でこれを解決できます。

更新:

Android studio 3.0からは、より役立つヒントが表示されるようになったため、はるかに簡単になりました。このヒントに従うだけで済みます。
例えば:1]

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムがクラッシュする可能性があります)。 バージョン27.0.2、26.1.0が見つかりました。例としては、 com.Android.support:animated-vector-drawable:27.0.2および com.Android.support:customtabs:26.1.0があります。

ライブラリ、あるいはツールとライブラリの組み合わせによっては、互換性がない、あるいはバグを引き起こす可能性があるものがあります。そのような非互換性の1つは、最新バージョンではないAndroidサポートライブラリのバージョンとコンパイルすることです(特に、あなたのtargetSdkVersionよりも低いバージョンです)。

解決策:
古いバージョンと新しいバージョン番号のライブラリを明示的に追加してください。
私の場合はcom.Android.support:customtabs:26.1.0なので、追加する必要があります。 

implementation "com.Android.support:customtabs:27.0.2"  

つまり、2番目の項目からライブラリを取り出し、最初の項目からバージョン番号を付けて実装します。

注:今同期を押すことを忘れないでください。gradleは依存グラフを再構築し、それ以上競合がないかどうかを確認できます。

説明:
customtabsを使用しないのでエラーメッセージに混乱するかもしれません。
まあ..あなたはそれを直接使っていませんでしたが、あなたのライブラリの一つは古いバージョンのcustomtabsを内部的に使っているので、あなたはそれを直接尋ねる必要があります。 

あなたのライブラリのどれが古いバージョンを担当しているのか知りたいなら、そしておそらく彼のlibを更新するように作者に頼んで、Gradle依存関係レポートを実行してください。

これに注意 


古い答え:

CommonsWare answer に触発された:

Gradle依存関係レポートを実行して、依存関係の完全なツリーが何であるかを確認してください。

そこから、あなたのライブラリのどれがAndroid Supportライブラリの異なるバージョンを要求しているかがわかります。同じバージョンを入手するには、0バージョンを使用するか、Gradleの他の競合解決アプローチを使用してください。


更新:

Gradle Pluginバージョン3.0以降:compileimplementationまたはapiに置き換えられました。違いは この回答 をご覧ください。

したがって代わりに使用してください:

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

またはwindows cmdの場合: 

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

競合しているバージョンを検索します。

私にとっては、エラーはcom.google.Android.gms:play-services:10.2.0を削除した後に消えました

com.google.Android.gms:play-services-location:10.2.0com.google.Android.gms:play-services-maps:10.2.0は、私が使用する唯一の2つの再生サービスなので、含めてください。

gms:play-servicesはサポートライブラリの古いコンポーネントに依存していると思うので、それらを明示的に自分自身で追加する必要があります。


aS 3.0の場合はそれより古い。

実行します。

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

例:

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

誰かが新しいgradleプラグインでもっと良い方法を知っているなら、私に知らせてください。

783
humazed
  1. ファイルシステムのproject/.idea/librariesフォルダに移動して、どのライブラリが異なるのかを確認します。
  2. build.gradleファイルに同じバージョンのこれらのライブラリを手動で含める必要があります。
  3. その後、プロジェクトを同期します。

例えば。:

compile 'com.Android.support:appcompat-v7:25.2.0'

// Wrong library version found on 1st point
compile 'com.Android.support:customtabs:25.2.0'
195

これらのバージョンまたはライブラリだけでなく、すべての場合:

エラーについて何かを言う小さな情報ウィンドウに注意してください変更して追加しなければならない例を示しています

この場合:

バージョン25.1.1、24.0.0が見つかりました。例には、com.Android.support:animated-vector-drawable:25.1.1およびcom.Android.support:mediarouter-v7が含まれます:24.0.0

あなたの

com.Android.support:animated-vector-drawable:25.1.1

はバージョン25.1.1であり、あなたの

com.Android.support:mediarouter-v7:24.0.0

はバージョン24.0.0なので、同じバージョンのメディアルーターを追加する必要があります:

com.Android.support:mediarouter-v7:25.1.1

そして、小さな情報ウィンドウが言うすべての例で、これを行います、この場合バージョン25.1を持たないすべてのライブラリ1。

変更する必要がある次のライブラリとパッケージを表示するには、指定されたライブラリを修正した後、gradleを同期する必要があります。

重要:

1つ以上の指定されたライブラリを明示的に使用しておらず、エラーが発生している場合、別のライブラリによって内部的に使用されていることを意味し、とにかく明示的にコンパイルします。

別の方法を使用して、実際にコンパイルしているすべてのライブラリのバージョンの違いを確認することもできます(gradle依存関係レポートを実行するか、ライブラリファイルに移動するなど)、実際の目的は、同じバージョンで使用しています

149
Brandon Zamudio

これをあなたのbuild.gradle(モジュール:app)の最後に追加してください:

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.Android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '25.3.1'
        }
     }

   }
}

'25 .3.1 'を、すべての依存関係に使用するAndroidサポートライブラリのバージョンに置き換えてください。これは、使用している標準のSDKバージョンよりも低くしないでください。

グラドルを再同期するより

88
ezzou

問題を解決するための最善の方法は、すべての 'com.Android.support:...'をAndroid Studioによって提案されたものに実装することです

(どのサポートバージョンを使用していても構いません - 27.1.1、28.0.0など)

エラー行にカーソルを置きます。

implementation 'com.Android.support:appcompat-v7:28.0.0'

Androidのスタジオでは、「com.Android.support:...」が「com.Android.support:appcompat-v7:28.0.0」とは異なるバージョンであることを通知します 

例 

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムクラッシュが発生する可能性があります)。バージョン28.0.0、27.1.0、27.0.2が見つかりました。例としては、com.Android.support:animated-vector-drawable:28.0.0やcom.Android.support:exifinterface:27.1.0があります。

だからcom.Android.support:animated-vector-drawable:28.0.0com.Android.support:exifinterface:28.0.0。を追加してgradleファイルを同期させます。

この行にエラーがなくなるまで、提案されたすべての 'com.Android.support:...'を実装してみてください。implementation 'com.Android.support:appcompat-v7:28.0.0'

私の場合は、追加しました 

implementation 'com.Android.support:appcompat-v7:28.0.0'

implementation 'com.Android.support:animated-vector-drawable:28.0.0'
implementation 'com.Android.support:exifinterface:28.0.0'
implementation 'com.Android.support:cardview-v7:28.0.0'
implementation 'com.Android.support:customtabs:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
implementation 'com.Android.support:support-v4:28.0.0'

このすべての依存関係...他の人にとっては異なる可能性があります。

72

Android Studio 2.3にアップデートした後もまったく同じ問題がありました

この行を依存関係に追加することで、私の問題は解決しました。

compile 'com.Android.support:customtabs:25.2.0'
53

A)gradle dependenciesまたは./gradlew dependenciesを実行してください。

B)あなたのツリーを見て、あなたが管理していない依存関係に対して、どの依存関係が異なるサポートライブラリのバージョンを指定しているかを見つけ出してください。

私は、この警告が依存関係があなた自身のコードによって直接完全に使われていない場合にも表示されることに気づかなかった。私の場合、Facebookは私が使用していなかったいくつかのサポートライブラリを指定しています。これらの依存関係のほとんどは、 - > X.X.X(*) 記号で示されていますカードビューとカスタムタブのライブラリはだれにも上書きされていないので、それらを使用しなくても、私は自分で25.2.0を要求する必要があります。

+--- 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 (*)

Gradleがすでにあなたに警告し、あなたに例を挙げているなら...

例としては、com.Android.support:animated-vector-drawable:25.1.1およびcom.Android.support:mediarouter-v7:24.0.0があります。

gradle dependenciesは非常に冗長になる可能性があるので、より低いバージョンのためにいくつかのgrepハイライトを投げ入れれば...それはさらに簡単です:

./gradlew dependencies | grep --color -E 'com.Android.support:mediarouter-v7|$'
44
Daniel Wilson

変数を使用する :次のようにすると、すべてのライブラリで同じバージョンを確実に使用できるようになります。

dependencies {

    ext {
        support_library_version = '25.2.0'
        google_play_services_version = '10.2.0'
    }

    //#####################################################################
    //          Support Library
    //#####################################################################
    compile "com.Android.support:appcompat-v7:${support_library_version}"
    compile "com.Android.support:palette-v7:${support_library_version}"
    compile "com.Android.support:design:${support_library_version}"

    //#####################################################################
    //          Google Play Services
    //#####################################################################
    compile "com.google.Android.gms:play-services-auth:${google_play_services_version}"
    compile "com.google.Android.gms:play-services-ads:${google_play_services_version}"
    compile "com.google.Android.gms:play-services-analytics:${google_play_services_version}"

    //#####################################################################
    //          Firebase
    //#####################################################################
    compile "com.google.firebase:firebase-core:${google_play_services_version}"
    compile "com.google.firebase:firebase-auth:${google_play_services_version}"
    compile "com.google.firebase:firebase-messaging:${google_play_services_version}"

どのようにグーグルがあなたがこのバージョニングを扱うことを提案するかに関するさらなる情報はこの記事で見つけることができます: https://developer.Android.com/studio/build/index.html#top-level

31
Daniel F

これを追加するだけです。

compile 'com.Android.support:mediarouter-v7:25.2.0'

新しいSDKバージョンのUpdated

compile 'com.Android.support:mediarouter-v7:28.0.0-alpha3'
25
Mohsen mokhtari

同じエラーがappcompatにもある場合

implementation 'com.Android.support:appcompat-v7:27.0.1'

それからdesignを追加することで解決しました。

implementation 'com.Android.support:appcompat-v7:27.0.1'
implementation 'com.Android.support:design:27.0.1'

私にとっては、追加

implementation 'de.mrmaffen:vlc-Android-sdk:2.0.6'

appcompat-v7:23.1.1が含まれていました 

.idea/libraries 

vlcがなければ、appcompatだけで十分です。

19
Prabs

あなたはすでに上のすべての答えとコメントを見ましたが、この答えは新しい開発者が容易に手に入れないかもしれない何かをクリアすることです。

./gradlew -q依存関係app:dependencies --configuration compile  

上記の行は間違いなくあなたの命を救うでしょうが、どのように上記の行の結果から正確なポイントを得るか。

上記のコマンドからすべての依存関係チャートまたはリストを取得したら、コード内で競合しているバージョン番号を検索する必要があります。下の画像をご覧ください。

enter image description here

上の画像では、 23.4.0 が問題を引き起こしていることがわかりますが、これは私たちのgradleファイルでは見つけることができません。それで今、このバージョン番号(23.4.0)は私たちを救うでしょう。この番号がわかれば、上記のコマンドresultの結果からこの番号がわかり、その依存関係を直接Gradleファイルにインポートします。明確な視野を得るために下の画像を見てください。

com.Android.support:cardview-v7:23.4.0 および com.Android.support:customtabs:23.4.0 を作成しているバージョンを使用していることが明確にわかります。問題。依存関係リストからそれらの行を単にコピーして、私たちのgradleファイルで明示的に使用しますが、更新されたバージョンリンクを使用します。 

実装 "com.Android.support:cardview-v7:26.1.0"実装" com.Android.support:customtabs:26.1.0 "

17
anoopbryan2

競合を解決するもう1つの方法は、このようなすべての依存関係に対して正しいバージョンを強制することです。

dependencies {
            configurations.all {
                resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                    if (details.requested.group == 'com.Android.support' && details.requested.name == 'support-v4') {
                        details.useVersion "27.0.2"
                    }
                }
    ...
    }

https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html

13
Gainder

Support-v4の代わりにsupport-v13を使用してください。

compile 'com.Android.support:support-v13:25.2.0'
12
Mehmet Hanoğlu

私はコンパイルcompile 'com.google.Android.gms:play-services:10.2.4''com.Android.support:appcompat-v7:25.3.1'を追加した後に同じエラーを得ました。

animated-vector-drawablemediarouter libsを追加することで問題は解決しました。

compile 'com.google.Android.gms:play-services:10.2.4'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:animated-vector-drawable:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'
9
Sandeep

私はこれを持っていました:

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.Android.support:appcompat-v7:27.1.1'
   implementation 'com.Android.support:design:27.1.1'
   implementation 'com.Android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.Android.gms:play-services-auth:12.0.1'
   implementation'com.facebook.Android:facebook-login:[4,5)'
   implementation 'com.Twitter.sdk.Android:Twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-Java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.Android.support.test:runner:1.0.1'
   androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}

そして、このエラーを得ました: enter image description here

解決策は簡単でした - 主要な依存関係はすべて正しかったので、葉 - どんなサードパーティの依存関係も。犯人が見つかるまで一つずつ削除し、Facebookになることが判明!そのAndroidのサポートライブラリのバージョン27.0.2を使用しています。私はcardviewのバージョン27.1.1を追加しようとしましたが、それでも解決策が十分に単純であるかどうかはうまくいきませんでした。

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.Android.support:appcompat-v7:27.1.1'
   implementation 'com.Android.support:design:27.1.1'
   implementation 'com.Android.support:support-v4:27.1.1'
   implementation 'com.google.firebase:firebase-auth:12.0.1'
   implementation 'com.google.firebase:firebase-firestore:12.0.1'
   implementation 'com.google.firebase:firebase-messaging:12.0.1'
   implementation 'com.google.Android.gms:play-services-auth:12.0.1'
   implementation('com.facebook.Android:facebook-login:[4,5)'){
       // contains com.Android.support:v7:27.0.2, included required com.Android.support.*:27.1.1 modules
    exclude group: 'com.Android.support'
   }
   implementation 'com.Android.support:cardview-v7:27.1.1' // to replace facebook sdk's cardview-v7:27.0.2.
   implementation 'com.Twitter.sdk.Android:Twitter:3.1.1'
   implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
   implementation 'org.jetbrains:annotations-Java5:15.0'
   implementation project(':vehiclesapi')
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.Android.support.test:runner:1.0.1'
   androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}

私の問題はあなたの問題に似ています。ここにエラーがあります!

compile 'com.Android.support:appcompat-v7:25.3.0'

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムクラッシュが発生する可能性があります)。バージョン25.3.0、24.0.0が見つかりました。例としては、 'com.Android.support:animated-vector-drawable:25.3.0'および 'com.Android.support:mediarouter-v7:24.0.0'があります。

これを見る例には、 'com.Android.support:animated-vector-drawable:25.3.0'と 'com.Android.support:mediarouter-v7:24.0.0'があります

これらのコードを依存関係に追加するだけで、バージョンが同じであることを確認してください。

compile 'com.Android.support:animated-vector-drawable:25.3.0'
compile 'com.Android.support:mediarouter-v7:25.3.0'
9
Yanbin Hu

私は以前に同じ問題を抱えていました、そして私はそれに対する解決策を得ました。

私はちょうど別のバージョンを持っていたが私のsupport:appcompatの同じバージョンを持つライブラリを追加しました。

あなたのエラーの例:

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムがクラッシュする可能性があります)。 バージョン25.1.1、24.0.0が見つかりました。例としては、 com.Android.support:animated-vector-drawable:25.1.1、 com.Android.support:mediarouter-v7:24.0.0があります。

*解決策は、これらのライブラリのバージョンを次のようにコンパイルすることです。

compile 'com.Android.support:mediarouter-v7:25.1.1'

- 別のライブラリに同じ問題があり、別のバージョンにあなたのsupport:appcompatバージョンでそれをコンパイルするだけ

これで私の問題は解決したので、それがあなたの問題を解決することを願っています。

ご多幸を祈る :)

8
Hesham Morsy

私はアンドロイドスタジオ2.3にアップグレードした後に私の問題を解決するためにこれら二つを使った

compile 'com.Android.support:animated-vector-drawable:25.0.0'
compile 'com.Android.support:mediarouter-v7:25.0.0'
8
Aparajita Sinha

答えを探して組み合わせた後、この質問の 2018年バージョン そしてそれは私のために働きました:

1)ナビゲーションタブでプロジェクトビューに変更

2) [YourProjectName] /。idea/libraries/ に移動します。

3)Gradle__com_Android_support_ [libraryName]で始まるすべてのファイルを削除します

例: Gradle__com_Android_support_animated_vector_drawable_26_0_0.xml

4)Gradleファイルで変数を定義し、それを使用して $ {variableName} のようにバージョン番号を置き換えます。

Def変数:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

変数を使う:

implementation "com.Android.support:cardview-v7:${support_library_version}"

gradleの例:

dependencies {
    ext {
        support_library_version = '28.0.0' //use the version of choice
    }

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.Android.support:animated-vector-drawable:${support_library_version}"
    implementation "com.Android.support:appcompat-v7:${support_library_version}"
    implementation "com.Android.support:customtabs:${support_library_version}"
    implementation "com.Android.support:cardview-v7:${support_library_version}"
    implementation "com.Android.support:support-compat:${support_library_version}"
    implementation "com.Android.support:support-v4:${support_library_version}"
    implementation "com.Android.support:support-core-utils:${support_library_version}"
    implementation "com.Android.support:support-core-ui:${support_library_version}"
    implementation "com.Android.support:support-fragment:${support_library_version}"
    implementation "com.Android.support:support-media-compat:${support_library_version}"
    implementation "com.Android.support:appcompat-v7:${support_library_version}"
    implementation "com.Android.support:recyclerview-v7:${support_library_version}"
    implementation "com.Android.support:design:${support_library_version}"

}
6
Ali Karaca

2018年にこのエラーを更新し、プロジェクト構造から実装を追加 

implementation 'com.Android.support:support-v13:28.0.0'

プロジェクトモードで - > 外部ライブラリ そこにあなたの問題を見つけることができます、私の場合は私はバージョン28と外部ライブラリを使用しています com.Android.support:support-media-compat-26.0.0そしてここにエラーがありました。

実装support v13の後、それは働いています

6
Alwayss Bijoy

24.0.0の代わりにバージョン25.1.1でコンパイルするために他の依存関係を定義しました。すべての依存関係のバージョンを25.1.1と同じに設定してください。

6
Sneh Pandya

私は同じ問題を抱えていますが、これらの3行を追加することでこれを解決しました。

implementation 'com.Android.support:design:27.1.1'
implementation "com.Android.support:customtabs:27.1.1"
implementation 'com.Android.support:mediarouter-v7:27.1.1'

今すべてのものが完璧に動作します

6
Hamza Rahman

この警告を修正するための私の流れはここにあります

build.gradle

Android {
    compileSdkVersion ... // must same version (ex: 26)
    ...
}

dependencies {
    ...
    compile 'any com.Android.support... library'  // must same version (ex: 26.0.1)
    compile 'any com.Android.support... library'  // must same version (ex: 26.0.1)

    ...
    compile ('a library B which don't use 'com.Android.support...' OR use SAME version of 'com.Android.support'){
         // do nothing 
    }

    ...
    compile ('a library C which use DIFFERENT 'com.Android.support...' (ex:27.0.1) { 
        // By default, if use don't do anything here your app will choose the higher com.Android.support... for whole project (in this case it is 27.0.1)

        // If you want to use 26.0.1 use
        exclude group: 'com.Android.support', module: '...' (ex module: 'appcompat-v7') 
        exclude group: 'com.Android.support', module: 'another module'
        ...

        // If you want to use 27.0.1 do 
        Upgrade `compileSdkVersion` and all 'com.Android.support' to 27.0.1.
        (It may be a good solution because the best practice is always use latest `compileSdkVersion`.  
        However, use 26 or 27 is base on you for example higher library may have bug)
    }
}

Toアプリ内のすべてのライブラリのdependenciesを表示/検証する
端末を開き、./gradlew app:dependenciesを実行します

Toアプリ内の特定のライブラリのdependenciesを表示するチュートリアルはこちら:- 特定の依存関係の依存関係を除外する方法Gradle

お役に立てば幸いです

6
Phan Van Linh

./gradlewタスク--allを実行し、ターゲットのバージョン(25.3.1)とは異なるバージョンである依存関係をチェックしました。あなたはこのようなものを得るでしょう:

app:prepareComAndroidSupportAnimatedVectorDrawable2531Library - Prepare com.Android.support:animated-vector-drawable:25.3.1
app:prepareComAndroidSupportAppcompatV72531Library - Prepare com.Android.support:appcompat-v7:25.3.1
app:prepareComAndroidSupportCardviewV72531Library - Prepare com.Android.support:cardview-v7:25.3.1
app:prepareComAndroidSupportCustomtabs2531Library - Prepare com.Android.support:customtabs:25.3.1
app:prepareComAndroidSupportDesign2531Library - Prepare com.Android.support:design:25.3.1
app:prepareComAndroidSupportMediarouterV72531Library - Prepare com.Android.support:mediarouter-v7:25.3.1
app:prepareComAndroidSupportPaletteV72531Library - Prepare com.Android.support:palette-v7:25.3.1
app:prepareComAndroidSupportRecyclerviewV72531Library - Prepare com.Android.support:recyclerview-v7:25.3.1
app:prepareComAndroidSupportSupportCompat2531Library - Prepare com.Android.support:support-compat:25.3.1
app:prepareComAndroidSupportSupportCoreUi2531Library - Prepare com.Android.support:support-core-ui:25.3.1
app:prepareComAndroidSupportSupportCoreUtils2531Library - Prepare com.Android.support:support-core-utils:25.3.1
app:prepareComAndroidSupportSupportFragment2531Library - Prepare com.Android.support:support-fragment:25.3.1
app:prepareComAndroidSupportSupportMediaCompat2531Library - Prepare com.Android.support:support-media-compat:25.3.1
app:prepareComAndroidSupportSupportV42531Library - Prepare com.Android.support:support-v4:25.3.1
app:prepareComAndroidSupportSupportVectorDrawable2531Library - Prepare com.Android.support:support-vector-drawable:25.3.1
app:prepareComAndroidSupportTransition2531Library - Prepare com.Android.support:transition:25.3.1
app:prepareComAndroidVolleyVolley100Library - Prepare com.Android.volley:volley:1.0.0
app:prepareComCrashlyticsSdkAndroidAnswers1312Library - Prepare com.crashlytics.sdk.Android:answers:1.3.12
app:prepareComCrashlyticsSdkAndroidBeta124Library - Prepare com.crashlytics.sdk.Android:beta:1.2.4
app:prepareComCrashlyticsSdkAndroidCrashlytics267Library - Prepare com.crashlytics.sdk.Android:crashlytics:2.6.7
app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2316Library - Prepare com.crashlytics.sdk.Android:crashlytics-core:2.3.16
app:prepareComFacebookAndroidFacebookAndroidSdk4161Library - Prepare com.facebook.Android:facebook-Android-sdk:4.16.1
app:prepareComGoogleAndroidGmsPlayServicesAnalytics1026Library - Prepare com.google.Android.gms:play-services-analytics:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl1026Library - Prepare com.google.Android.gms:play-services-analytics-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuth1026Library - Prepare com.google.Android.gms:play-services-auth:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuthBase1026Library - Prepare com.google.Android.gms:play-services-auth-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBase1026Library - Prepare com.google.Android.gms:play-services-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBasement1026Library - Prepare com.google.Android.gms:play-services-basement:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesCast1026Library - Prepare com.google.Android.gms:play-services-cast:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesLocation1026Library - Prepare com.google.Android.gms:play-services-location:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesMaps1026Library - Prepare com.google.Android.gms:play-services-maps:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1026Library - Prepare com.google.Android.gms:play-services-tagmanager-v4-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTasks1026Library - Prepare com.google.Android.gms:play-services-tasks:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalytics1026Library - Prepare com.google.firebase:firebase-analytics:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1026Library - Prepare com.google.firebase:firebase-analytics-impl:10.2.6
app:prepareComGoogleFirebaseFirebaseAppindexing1024Library - Prepare com.google.firebase:firebase-appindexing:10.2.4
app:prepareComGoogleFirebaseFirebaseCommon1026Library - Prepare com.google.firebase:firebase-common:10.2.6
app:prepareComGoogleFirebaseFirebaseCore1026Library - Prepare com.google.firebase:firebase-core:10.2.6
app:prepareComGoogleFirebaseFirebaseIid1026Library - Prepare com.google.firebase:firebase-iid:10.2.6
app:prepareComGoogleFirebaseFirebaseMessaging1026Library - Prepare com.google.firebase:firebase-messaging:10.2.6
app:prepareComMindorksPlaceholderview027Library - Prepare com.mindorks:placeholderview:0.2.7
app:prepareDebugAndroidTestDependencies
app:prepareDebugDependencies
app:prepareDebugUnitTestDependencies
app:prepareInfoHoang8fAndroidSegmented105Library - Prepare info.hoang8f:Android-segmented:1.0.5
app:prepareIoFabricSdkAndroidFabric1316Library - Prepare io.fabric.sdk.Android:fabric:1.3.16
app:prepareNoNordicsemiAndroidLog211Library - Prepare no.nordicsemi.Android:log:2.1.1
app:prepareNoNordicsemiAndroidSupportV18Scanner100Library - Prepare no.nordicsemi.Android.support.v18:scanner:1.0.0

この場合、私は25.3.1をターゲットにしていましたが、このコマンドを実行したときにいくつかの依存関係が異なるバージョンをターゲットにしていました。トリックは、以前のバージョンをターゲットにしているこのリスト内の依存関係を識別し、それをGradleの依存関係の最新バージョンをインポートすることによって上書きすることです。

6
Matt W

すべてのFacebook SDK依存関係があなたのプロジェクトの同じサポートライブラリバージョンを使うことを確認してください:

dependencies {
    // Facebook SDK dependencies, excluding Bolts
    compile "com.Android.support:appcompat-v7:25.4.0"
    compile "com.Android.support:cardview-v7:25.4.0"
    compile "com.Android.support:customtabs:25.4.0"
    compile "com.Android.support:design:25.4.0"

    compile "com.facebook.Android:facebook-Android-sdk:4.23.0"
}
5
JP Ventura

Android Studio 2.3にアップデートした後に同じ問題が発生した場合は、次のパッケージをbuild.gradleに追加してください。

compile 'com.Android.support:support-v13:25.3.1'

注: プロジェクトで使用されている他のサポートライブラリパッケージと一致するようにバージョンを変更してください。

5
Vahid Amiri

プロジェクトの外部ライブラリを開くと、以前のバージョンを使用しているライブラリがあることがわかります。それらのライブラリについては言及していません。そのため、特定のライブラリバージョンを使用して問題を解決します。

5
Subho

私はエラーを取り除くためにgradleに以下の行を追加しなければなりませんでした

compile 'com.Android.support:animated-vector-drawable:25.2.0'
compile 'com.Android.support:preference-v7:25.2.0'
compile 'com.Android.support:customtabs:25.2.0'
compile 'com.Android.support:cardview-v7:25.2.0'
5
Shrikant

エラーを強調表示して「Alt + Enter」を押すと、次のオプションが表示されます。

ライブラリ依存関係の追加>意図設定の編集

これにより、support-compatとは異なる特定の問題サポート依存関係が表示されるメニューが表示されます。 gradle(com 'XXX')に依存関係を作成し、それをsupport-compatのバージョンと一致するように設定します。 gradleを同期すると完了です。

5
Raymond Wachaga

私にとっては、このエラーは私がインポートしたサードパーティのライブラリが古いGoogle Support Libraryモジュールを使用していたことが原因でした。私は単にそれらを最新バージョンに更新し(例えばGithubをチェックする)、そしてエラーは消えた。 build.gradleに含まれているすべてのGoogle以外のライブラリが最新のものであることを確認することをお勧めします。

5
Octocat
implementation 'com.Android.support:appcompat-v7:26.1.0'

このラインの後あなたはあなたのグラドルに新しいラインを加えなければなりません

implementation 'com.Android.support:design:26.1.0'
5
Aleem Momin

私のAndroid Support Repositoryを(revision:44.0.0); にアップデートしてから、sdk manager> SDK tools からAndroid SDKツールとEmulatorを最新バージョン25.3.1にアップデートしました。

5
Ajit Thapa

私のプロジェクトにはこれらの依存関係がありました:

implementation 'com.Android.support.constraint:constraint-layout:1.1.3'

implementation 'com.Android.support:support-v4:28.0.0'
implementation 'com.Android.support:design:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'

implementation 'com.google.Android.gms:play-services-maps:16.1.0'

implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.google.firebase:firebase-storage:17.0.0'
implementation 'com.google.firebase:firebase-messaging:18.0.0'

implementation 'com.firebaseui:firebase-ui-storage:0.6.0'

これまでのところ何も間違っているようには見えませんでしたが、私はこのメッセージを受け取りました:

バージョン28.0.0、23.4.0が見つかりました。例には、com.Android.support:animated-vector-drawable:28.0.0およびcom.Android.support:palette-v7:23.4が含まれます。

それから私はやった:

$ ./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath >> dep.txt

ファイル内でpaletteを検索し、firebase storageで使用されていることがわかりました。

\--- com.firebaseui:firebase-ui-storage:0.6.0
     +--- com.Android.support:appcompat-v7:23.4.0 -> 28.0.0 (*)
     +--- com.Android.support:palette-v7:23.4.0

追加後:

implementation 'com.Android.support:palette-v7:28.0.0'

解決されたようで、これ以上のエラーはありません。

//乾杯

4
stargazer_94

Android Studio 2.3にアップデートした後にこの問題が発生しました

依存関係にこれらの行を追加することで私の問題は解決しました

compile 'com.Android.support:customtabs:25.2.0'  
compile 'com.Android.support:palette-v7:25.2.0'
4
Kathirva

これを交換 

compile 'com.Android.support:appcompat-v7:25.2.0'

これで 

compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'

再構築と優れたコーディング

4

下記の新しいライブラリをすべて実装した後に問題が発生している場合。私はこの'com.Android.support:appcompat-v7:27.1.0'互換バージョンで上記と同じ問題に直面していました。

implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:design:27.1.0'
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:mediarouter-v7:27.1.0'
implementation 'com.Android.support:recyclerview-v7:27.1.0'
implementation 'com.Android.support:cardview-v7:27.1.0'
implementation 'com.Android.support:support-v13:27.1.0'
implementation 'com.Android.support:support-v4:27.1.0'

これを置き換えるだけです 

'com.Android.support:appcompat-v7:27.1.0'

これに

'com.Android.support:appcompat-v7:27.0.1'
3
badarshahzad

次の行を含めます。

implementation 'com.Android.support:support-v4:27.1.1'

Android Studio Plugin 3+を使用していることを確認してください

enter image description here

3
Shrirang

アプリレベルの依存関係にこれらを追加する

implementation 'com.Android.support:asynclayoutinflater:28.0.0'
implementation 'com.Android.support:exifinterface:28.0.0'
implementation 'com.Android.support:animated-vector-drawable:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
implementation 'com.Android.support:support-v4:28.0.0'
3
Mohammad Maaz

私のために私は追加することでエラーを解決しました:compile 'com.Android.support:design:<version>'

3
Haya Akkad

ビルドツールをサポートライブラリとまったく同じバージョンにする

例 

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.itechnologyeg.*******"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    } 
dependencies {
 compile 'com.Android.support:appcompat-v7:25.0.0'
    compile 'com.Android.support:animated-vector-drawable:25.0.0'
    compile 'com.Android.support:mediarouter-v7:25.0.0'
    compile 'com.Android.support:recyclerview-v7:25.0.0'
    compile 'com.Android.support:cardview-v7:25.0.0'
    compile 'com.Android.support:design:25.0.0'
}
3
Mohammed Shady

この問題を引き起こす可能性があるもう一つのことは、あなたがこのような宣言を得た場合です:

compile 'com.Android.support:support-v4:25.3.1'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:recyclerview-v7:+'

+は、25.3.1より後のバージョンである可能性がある最新バージョンを取得することを意味します。 +25.3.1のような特定のバージョンに置き換えます。

compile 'com.Android.support:support-v4:25.3.1'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:recyclerview-v7:25.3.1'

そしてそれは問題を解決します

3
Yonatan Nir

問題は次の方法で解決できます。

  1. AndroidManifest.xmlファイルを開きます。
  2. 下部の 結合された目録 オプションをクリックしてください。
  3. 右側には、 その他のマニフェストファイル と表示されます。これは、あなたが含めた、あるいは他の依存関係の影響のために含まれた、異なる依存関係のための別々のマニフェストファイルです。
  4. エラーメッセージに記載されている依存関係を調べます。それをクリックして、そのマニフェストファイルを開きます。
  5. あなたのエラーメッセージがAndroid:valuemeta-data属性を変更するように言うならば、これはその変更をする場所です。
  6. 値と他の一致しないバージョン番号が表示される場所を変更し、build.gradleファイルに含めたバージョンでそれを変更します。
  7. 今すぐプロジェクトを同期し、あなたが行ってもいいです
3
Devansh Maurya

Android Studio 3.xの新バージョンで非常にシンプル。

現在のバージョンより小さいバージョンをコピーして、現在のバージョンと同じバージョン番号で明示的に追加するだけです。 

 

バージョン27.1.1、27.1.0が見つかりました。例としては、com.Android.support:animated-vector-drawable:27.1.1やcom.Android.support:exifinterface:27.1.0があります。

バージョンcom.Android.support:exifinterface:27.1.0をコピーしてそれをcom.Android.support:exifinterface:27.1.1に変更して、現在使用している現在のバージョンと同じになるようにして、次のようにgradle依存関係に追加します。 

implementation 'com.Android.support:exifinterface:27.1.1'

注:完了したら、エディターの上部にある 今すぐ同期 をクリックすることを忘れないでください。  

2
Muhammad

私はAndroidのスタジオ3.4と28.0.0にSDKのバージョンにアップグレードした後、この問題に直面しています。以下の依存関係を適用することは私のために問題を解決しました。

    implementation 'com.Android.support:exifinterface:28.0.0'
2
Shaon

すべてのcom.Android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります(バージョンを混在させるとランタイムクラッシュが発生する可能性があります)。バージョン25.1.1、24.0.0が見つかりました。例としては、com.Android.support:animated-vector-drawable:25.1.1およびcom.Android.support:mediarouter-v7:24.0.0があります。

この警告は通常、サポートライブラリを依存関係として使用しているため、Google Play Servicesを使用しているときに発生します。

Google Playサービスで使用されているサポートライブラリをオーバーライドできることを は知らなかった。次の依存関係を使うと

implementation "com.Android.support:animated-vector-drawable:25.1.1"

暗黙のうちにcom.Android.support:mediarouter-v7:25.1.1に依存します。しかしそれはcom.Android.support:mediarouter-v7:24.0.0であるGoogle Play Serviceの依存関係と衝突します。そのため、ライブラリを明示的に使用してオーバーライドする必要があります。

implementation "com.Android.support:mediarouter-v7:25.1.1"

それで、あなたの依存関係ブロックはこのようにそれらの両方を含みます:

dependencies {
    implementation "com.Android.support:animated-vector-drawable:25.1.1"
    implementation "com.Android.support:mediarouter-v7:25.1.1"

    ...
}

私は追加することによってコンパイルすることができた(非常にきれいではない)

image description here

2
Croid

私はエラーを取り除くためにgradleに以下の行を追加しなければなりませんでした。

compile 'com.Android.support:appcompat-v7:26+'

compile 'com.Android.support:mediarouter-v7:26+'

それは、単純に、すべてのv7とv4のライブラリに、あなたが依存関係の直前に設定したライブラリバージョンを使うことを強制するだけです。

configurations.all {
                    // To resolve the conflict for com.Android.databinding
                    // dependency on support-v4:21.0.3
                    resolutionStrategy.force 'com.Android.support:support-v4:28.0.0'
                    resolutionStrategy.force 'com.Android.support:support-v7:28.0.0'
                }
1
Remy

私の問題は解決しました以下の最新の依存関係を追加implementation 'com.google.firebase:firebase-auth:16.0.4'

1
Prathamesh More

約5時間を費やした後、この解決策は私のために働きました..

まだ持っていない場合は、最初にこの行をマニフェストタグに追加します。

xmlns:tools="http://schemas.Android.com/tools"

例:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.winanainc"
    Android:versionCode="3"
    Android:versionName="1.2"
    xmlns:tools="http://schemas.Android.com/tools">

それからあなたのアプリケーション内にこのメタタグを追加してあなたがビルドツールのバージョンを上書きするようにしてください。

<application>
   ...
   ..
    <meta-data
        tools:replace="Android:value"
        Android:name="Android.support.VERSION"
        Android:value="25.3.1" />
</application>
1
akaMahesh

// noinspectionを追加するだけです。GradleCompatible:

implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
//noinspection GradleCompatible
implementation 'com.Android.support:appcompat-v7:28.0.0'
0
Ramesh R

唯一の方法があります...そして手動でやらなければいけません... build.gradle checkに行き、すべての依存関係を同じバージョンに割り当ててください。そしてうまくいくはずです。

0
Shubham Soni

グライドライブラリによるこのエラー。ピカソや他の画像ライブラリを試す

0
Ashok Chowdary