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

この記事の翻訳元:すべてのcom.android.supportライブラリは、まったく同じバージョン仕様を使用する必要があります

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

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

ここに画像の説明を入力してください

私のグラドル: 私のグラドル:

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'
}

#1階

参照:https : //stackoom.com/question/2rnS3/すべてのcom-android-supportライブラリは、まったく同じバージョン仕様を使用する必要があります


#2F

あなたはバージョンでコンパイルに必要で、他の依存関係を定義しているしている24.0.0INSTEADの25.1.1 あなたはバージョンを使用して、他の依存関係を定義している24.0.0のではなく25.1.1コンパイル。 バージョンではすべての依存関係SETは同じで、AS下さい25.1.1 セットに、すべての依存関係のバージョン25.1.1と同じです。


#3階

これは、次のいずれかの解決策で解決できます。この問題は、次のいずれかの解決策で解決できます

更新: 更新:

Android Studio 3.0では、より役立つヒントが表示されるようになったため、 はるかに簡単になりました。このヒントに従うだけで済みます。AndroidStudio 3.0以降では、より便利なヒントが表示されるため、より簡単になります。、したがって、このプロンプトに従うだけで済みます。
例: 例: 1]

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

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

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

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

つまり、2番目のアイテムからライブラリを 取得し、最初のバージョン番号を使用して実装しますつまり、2番目のアイテムからライブラリを取得し、最初のアイテムのバージョン番号を使用して実装します。

注:Gradleが依存関係グラフを再構築して競合があるかどうかを確認できるように、今 すぐ同期を押すことを忘れないでください注:Gradleが依存関係グラフを再構築して競合があるかどうか確認できるように、すぐに同期を押すことを忘れないでください。

説明: 説明:
使用しないcustomtabsので エラーメッセージに混乱する可能性があるためcustomtabs、競合が発生しています!! 使用しないため競合が発生するため、エラーメッセージが混乱する可能性があります
まあ..直接使用していませんが、ライブラリの1つが古いバージョンのcustomtabs内部を使用しているため、直接要求する必要があります。 非常に良い..直接使用しなかったが、ライブラリの1つが内部で使用されている古いバージョンなcustomtabsので、直接リクエストする必要があります。

古いバージョンの原因となっているライブラリを知りたくて、作成者にlibの更新を依頼する場合は、Gradle依存関係レポートを実行し、古い回答を参照して方法を確認してください。どの ライブラリが古いバージョンかを知りたい場合、および作成者にライブラリの更新を要求する場合があります(Gradle依存関係レポートを実行します)。具体的な方法については、古い回答を参照してください。

この注意 これに注意を


古い答え: 古い答え:

インスピレーションを得たことにより、CommonsWareの答え によってCommonsWareのインスピレーションの答え

Gradle依存関係レポートを実行して、依存関係のツリー全体を確認しますGradle依存関係レポートを実行して、 完全な依存関係ツリーを確認します。

そこから、Androidサポートライブラリの異なるバージョンを 要求し ているライブラリがわかります。そこから、Androidサポートライブラリの他のバージョンを使用する必要があるライブラリがわかります。それが求めて いるものについては、25.2.0バージョンで直接要求するか、Gradleの他の競合解決アプローチを使用して同じバージョンを取得できます。必要なものは何でも、25.2.0バージョンで直接要求するか、 Gradleの他の競合解決方法を使用して、同じバージョンを取得します。


更新: 更新:

ASのバージョンのプラグインのGradle:3.0 compileに置き換えられているimplementationapiを参照してくださいこの答えを -differenceにするために。 始まるのGradleプラグインのバージョンから:3.0がcompileされているimplementationか、api交換し、参照この回答を違いを理解するために。

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

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

または Windowsコマンドの場合またはWindowsコマンドの場合:

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

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

私にとっては、エラーが削除した後に姿を消したcom.google.android.gms:play-services:10.2.0 私を、削除com.google.android.gms:play-services:10.2.0エラーが消滅し

唯一のINCLUDEとcom.google.android.gms:play-services-location:10.2.0し、com.google.android.gms:play-services-maps:10.2.0彼らは唯一の2つのプレイサービスでIを使用することも同様である。 そしてだけ含まれているcom.google.android.gms:play-services-location:10.2.0com.google.android.gms:play-services-maps:10.2.0、彼らは2つだけの選手サービスIを使用しているため。

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


AS 3.0 以前の場合AS 3.0以前の場合

Run: 跑:

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

例: 例:

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

誰かが新しいGradleプラグインのより良い方法を知っている場合は、私に知らせてください 新しいGradleプラグインのより良い方法があることを誰かが知っている場合は、私に知らせてください


#4F

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


#5F

  1. [移動project/.idea/librariesお使いのファイルシステム上のフォルダと異なる。あるライブラリを参照してください ファイルシステムに上をproject/.idea/libraries何異なるライブラリーを参照するフォルダ。
  2. 持っているのでしょうによっては、には、あなたの中に同じバージョンのライブラリでこれらのあなたによって手動が含まれていbuild.gradleファイル。 あなたはする必要があります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'

#6階

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

この行を依存関係に追加すると問題が解決しました:この行を依存関係に追加すると 問題が解決しました:

compile 'com.android.support:customtabs:25.2.0'
元の記事を0件公開 75 件を賞賛 56万回の閲覧+

おすすめ

転載: blog.csdn.net/w36680130/article/details/105428834