バージョンの競合がある場合、gradleは自動的に最高のバージョンを選択します。ライブラリモジュール 'mylibrary'を含むappプロジェクト 'app'を想像してみてください。私はcompat libバージョンを 'app'では23.2.1に、 'mylibrary'では23.2.0に設定しました。 1が最後に選択します./gradlew :app:dependencies
番組の出力:
_debugCompile - ## Internal use, do not manually configure ##
+--- com.android.support:appcompat-v7:23.2.1
| +--- com.android.support:support-v4:23.2.1
| | \--- com.android.support:support-annotations:23.2.1
| +--- com.android.support:animated-vector-drawable:23.2.1
| | \--- com.android.support:support-vector-drawable:23.2.1
| | \--- com.android.support:support-v4:23.2.1 (*)
| \--- com.android.support:support-vector-drawable:23.2.1 (*)
+--- com.android.support:recyclerview-v7:23.2.1
| +--- com.android.support:support-v4:23.2.1 (*)
| \--- com.android.support:support-annotations:23.2.1
+--- com.android.support:design:23.2.1
| +--- com.android.support:support-v4:23.2.1 (*)
| +--- com.android.support:appcompat-v7:23.2.1 (*)
| \--- com.android.support:recyclerview-v7:23.2.1 (*)
+--- com.android.support:percent:23.2.1
| \--- com.android.support:support-v4:23.2.1 (*)
\--- project :mylibrary
\--- com.android.support:appcompat-v7:23.2.0 -> 23.2.1 (*)
お知らせてMyLibraryのためのcompatのlibには、23.2.0から23.2.1までにアップグレードされます非常に最後の行。これは、同じグループと名前のコンポーネントを持つライブラリで発生します。
はい、このようにバージョンがアップグレードされると問題が発生する可能性があります。ライブラリの変更されたバージョンが以前のバージョンと下位互換性がない場合、古いバージョンを参照するコードは、欠落したメソッドでコンパイルできないことがあります。マイクロおよびマイナーバージョンのアップデートでは、これは通常問題ではありませんが、メジャーバージョンのアップデートでは問題ありません。特定の状況に完全に依存します。