Android studio引用パッケージ競合

2546 ワード

回転:http://blog.csdn.net/yuzhiqiang_1993/articale/detail/78214812
All comp.android.support libries muse the exact same version specification(mixing versions can lead to runtime crases)
私たちがandroid studioを使って第三者の依存ライブラリを追加すると、このエラーを提示する可能性が高いです。
大体の意味はcomp.android.supportのパッケージのバージョン番号が一致しているということですが、自分たちが新しく作ったプロジェクトのcomp.android.supportのパッケージのバージョン番号が少し高いかもしれません。第三者のライブラリのcomp.android.supportは直ちにsupportライブラリを更新していないかもしれません。このエラーが発生します。
解決法(他の依存衝突にも同様に適用される。)  1)自分のプロジェクトの中のcomp.android.supportのバージョン番号を修正して、依存しているライブラリのバージョン番号と一致しますが、私達が依頼しているライブラリの中のcomp.android.supportのバージョン番号がいくつかあるとだめです。おすすめしません
2)このような方法を紹介します。もし衝突が発生したら、第三者の倉庫に依存している時にcomp.android.supportカバンに対する依存を排除して、自分のプロジェクトはどのバージョンに勝手に依存してもいいです。
group:comp.android.supportを含むものは全部排除すると表しています。  apiはAndroid Studio 3.0の新しい依存方式で、依存方式に慣れていないなら、この文章を見ることができます。Android Studio 3.0の新しい依存方式です。
たとえば:
    api("com.afollestad.material-dialogs:core:0.9.5.0") {
        exclude group: 'com.android.support'
    }
  • 1
  • ,
  • module:削除削除削除groupの指定module  たとえば:
        api("com.afollestad.material-dialogs:core:0.9.5.0") {
            exclude group: 'com.android.support', module: 'support-v13'
            exclude group: 'com.android.support', module: 'support-vector-drawable'
        }
  • 1
  • ,
  • 4
  • もう一つの提案があります。私たち自身がlibraryを作って他の人に使う時に、comp.android.supportに頼る必要があるなら、providedの方式で依存してください。そうすると、コンパイルする時だけ有効です。パッケージに参加しません。使用者に迷惑をかけないようにします。
    例:
        provided 'com.android.support:appcompat-v7:26.1.0'
        provided 'com.android.support:design:26.1.0'
        provided 'com.android.support:support-vector-drawable:26.1.0'
  • 1
  • ,
  • はい、これだけでお願いします。