Android studio依存衝突の解決
3627 ワード
最近1つのプロジェクトを引き継いだばかりで、中にはモジュールが3、4つあり、導入されたサードパーティのパッケージがもっと多くなった.しかし問題が発生し、新しい構成のstudioが実行されるとエラーが発生しました.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 is also present at [com.android.support:support-v4:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1). Suggestion: add ‘tools:replace=”android:value”’ to element at AndroidManifest.xml:25:5-27:34 to override. studioは、リストファイルでAndroid supportライブラリバージョンが競合していることを明確に指摘しており、studioはsuggestion:リストファイル25行-27行を「人間的」に追加しています.
穴はここにあり、提案は完全に人を誤解させた.咳咳、以下は私が詳しく(何)解(装)釈(迫)することを見ます:
問題の分析:
解決する
再分析:
+— project :base-util | +— com.android.support:recyclerview-v7:25.3.1 (*) | +— cn.qqtheme.framework:WheelPicker:1.5.1 | | +— cn.qqtheme.framework:Common:1.5.1 | | | +— com.android.support:support-v4:latest.release -> 26.0.0-alpha1 (*) | | | — com.android.support:support-annotations:latest.release -> 26.0.0-alpha1 | | +— com.android.support:support-v4:latest.release -> 26.0.0-alpha1 (*) | | — com.android.support:support-annotations:latest.release -> 26.0.0-alpha1 | +— com.github.CymChad:BaseRecyclerViewAdapterHelper:v1.9.8 | +— io.reactivex:rxjava:1.1.8 | +— io.reactivex:rxandroid:1.1.0 | | — io.reactivex:rxjava:1.1.0 -> 1.1.8 | +— com.squareup.okhttp3:okhttp:3.2.0 -> 3.4.1 | | — com.squareup.okio:okio:1.9.0 | +— com.squareup.retrofit2:retrofit:2.0.2 | | — com.squareup.okhttp3:okhttp:3.2.0 -> 3.4.1 (*) | +— com.squareup.retrofit2:adapter-rxjava:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — io.reactivex:rxjava:1.1.1 -> 1.1.8 | +— com.squareup.retrofit2:converter-gson:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — com.google.code.gson:gson:2.6.1 | +— com.squareup.okhttp3:logging-interceptor:3.4.1 | | — com.squareup.okhttp3:okhttp:3.4.1 (*) | +— com.github.zhaokaiqiang.klog:library:1.5.0 | | — com.android.support:support-annotations:23.4.0 -> 26.0.0-alpha1 | +— com.squareup.retrofit2:converter-simplexml:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — org.simpleframework:simple-xml:2.7.1 | +— com.github.bumptech.glide:glide:3.7.0 | +— project :base-res (*) | — com.jakewharton:butterknife:7.0.1
明らかにcn.qqtheme.framework:WheelPickerこのパッケージはデフォルトで最新のsupportライブラリを参照しています!
最終的な解決:
依存するライブラリを見つけて、次のように変更します.
さて、ここまでですが、今日のブログは终わりました.ご覧いただきありがとうございます.もっとポーズを取りたいので、本人のブログに注目してください.
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 is also present at [com.android.support:support-v4:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1). Suggestion: add ‘tools:replace=”android:value”’ to element at AndroidManifest.xml:25:5-27:34 to override. studioは、リストファイルでAndroid supportライブラリバージョンが競合していることを明確に指摘しており、studioはsuggestion:リストファイル25行-27行を「人間的」に追加しています.
tools:replace="android:value"
穴はここにあり、提案は完全に人を誤解させた.咳咳、以下は私が詳しく(何)解(装)釈(迫)することを見ます:
問題の分析:
com.android.support:design:25.3.1
com.android.support:support-v4:26.0.0-alpha1,
Android support , , support , 26.0.0-alpha1 , 25.3.1 。
解決する
, , 26.0.0-alpha1, 25.3.1
, , gradle 。 , , , !
再分析:
, support , 26.0.0-alpha1 。 , , ! , ...... , ? :
Android studio terminal, :`gradle -q app:dependencies`, : gradle !
:
+— project :base-util | +— com.android.support:recyclerview-v7:25.3.1 (*) | +— cn.qqtheme.framework:WheelPicker:1.5.1 | | +— cn.qqtheme.framework:Common:1.5.1 | | | +— com.android.support:support-v4:latest.release -> 26.0.0-alpha1 (*) | | | — com.android.support:support-annotations:latest.release -> 26.0.0-alpha1 | | +— com.android.support:support-v4:latest.release -> 26.0.0-alpha1 (*) | | — com.android.support:support-annotations:latest.release -> 26.0.0-alpha1 | +— com.github.CymChad:BaseRecyclerViewAdapterHelper:v1.9.8 | +— io.reactivex:rxjava:1.1.8 | +— io.reactivex:rxandroid:1.1.0 | | — io.reactivex:rxjava:1.1.0 -> 1.1.8 | +— com.squareup.okhttp3:okhttp:3.2.0 -> 3.4.1 | | — com.squareup.okio:okio:1.9.0 | +— com.squareup.retrofit2:retrofit:2.0.2 | | — com.squareup.okhttp3:okhttp:3.2.0 -> 3.4.1 (*) | +— com.squareup.retrofit2:adapter-rxjava:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — io.reactivex:rxjava:1.1.1 -> 1.1.8 | +— com.squareup.retrofit2:converter-gson:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — com.google.code.gson:gson:2.6.1 | +— com.squareup.okhttp3:logging-interceptor:3.4.1 | | — com.squareup.okhttp3:okhttp:3.4.1 (*) | +— com.github.zhaokaiqiang.klog:library:1.5.0 | | — com.android.support:support-annotations:23.4.0 -> 26.0.0-alpha1 | +— com.squareup.retrofit2:converter-simplexml:2.0.2 | | +— com.squareup.retrofit2:retrofit:2.0.2 (*) | | — org.simpleframework:simple-xml:2.7.1 | +— com.github.bumptech.glide:glide:3.7.0 | +— project :base-res (*) | — com.jakewharton:butterknife:7.0.1
明らかにcn.qqtheme.framework:WheelPickerこのパッケージはデフォルトで最新のsupportライブラリを参照しています!
最終的な解決:
依存するライブラリを見つけて、次のように変更します.
compile ('cn.qqtheme.framework:WheelPicker:1.5.1'){
exclude group:'com.android.support'
}
さて、ここまでですが、今日のブログは终わりました.ご覧いただきありがとうございます.もっとポーズを取りたいので、本人のブログに注目してください.