Androidサードパーティライブラリによるsupportバージョンの競合解決策
1837 ワード
に質問
26にcompileSdkバージョンをアップグレードし、supportパッケージのバージョンを変更し、エラーを報告します.
all com.android.support libraries must use the exact same version specification(mixing versions can lead to runtime crashes)
つまり、導入されたサードパーティ製ライブラリと現在のコンパイルバージョンが競合しています.
解決する
一般的なこの問題解決策は、指定された競合ライブラリの依存箇所に
しかし、問題はどのサードパーティライブラリが衝突しているのか分からないので、一つ一つチェックすることはできないのではないでしょうか.
この場合、gradleファイルに次のコードを追加して、すべてのサードパーティ製パッケージが指定されたバージョンのsupportパッケージを強制的に使用できるようにするだけです.
また、サードパーティ製ライブラリを自分で書いて他人に使う場合、supportパッケージへの依存方式をprovided(またはcompileOnly,gradle 3.0)に変更し、supportをパッケージ化せずに使いやすい人.
gradle 3について0より多く
gradleが3.0にアップグレードされると、依存の仕方がより多くなり、最も顕著な変化は、これまで使用されていた
同様に
原文作者:c_j 33原文アドレス:http://blog.csdn.net/C_J33/article/details/79171579
以上、androidサードパーティ製ライブラリによるsupportバージョンの競合ソリューションの全文を紹介しました.Android開発の学習と使用に役立ちます.
26にcompileSdkバージョンをアップグレードし、supportパッケージのバージョンを変更し、エラーを報告します.
all com.android.support libraries must use the exact same version specification(mixing versions can lead to runtime crashes)
つまり、導入されたサードパーティ製ライブラリと現在のコンパイルバージョンが競合しています.
解決する
一般的なこの問題解決策は、指定された競合ライブラリの依存箇所に
exclude group: 'com.android.support'
を追加し、競合ライブラリをコンパイルに含めないことです.compile('xx.xxx.xxxxx:xxxxx:1.5.5') {
exclude group: 'com.android.support'
}
しかし、問題はどのサードパーティライブラリが衝突しているのか分からないので、一つ一つチェックすることはできないのではないでしょうか.
この場合、gradleファイルに次のコードを追加して、すべてのサードパーティ製パッケージが指定されたバージョンのsupportパッケージを強制的に使用できるようにするだけです.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
}
}
}
また、サードパーティ製ライブラリを自分で書いて他人に使う場合、supportパッケージへの依存方式をprovided(またはcompileOnly,gradle 3.0)に変更し、supportをパッケージ化せずに使いやすい人.
gradle 3について0より多く
gradleが3.0にアップグレードされると、依存の仕方がより多くなり、最も顕著な変化は、これまで使用されていた
compile
をimplementation
に置き換えることができ、例えばimplementation 'xx.xxx.xxxxx:xxxxx::1.5.5'
implementation
とは、導入依存、このサードパーティパッケージ導入されたものを指し、プロジェクトでは使用できませんが、少しインターフェースの味がして、内部実装を遮断します.gradleコンパイルの速度を速めることができます.同様に
debugcompile
releasecompile
に対してdebug implementation
release implementation
が対応している.原文作者:c_j 33原文アドレス:http://blog.csdn.net/C_J33/article/details/79171579
以上、androidサードパーティ製ライブラリによるsupportバージョンの競合ソリューションの全文を紹介しました.Android開発の学習と使用に役立ちます.