Sürüm çakışması varsa, gradle otomatik olarak mevcut en yüksek sürümü seçecektir. 'Mylibrary' kütüphane modülünü içeren bir uygulama projesi 'uygulaması' düşünün. Ben, “lib libre” dosyasında 23.2.1 ve “app” dosyasında 23.2.1 olan uyumluluk lib versiyonunu kurdum. bir ucunda seçilen alır ./gradlew :app:dependencies
gösterileri çıkışı:
_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 (*)
Bildirim MyLibrary için compat lib 23.2.0 den 23.2.1 için sürümüne geçirildiğinde çok cümle. Bu, aynı grup ve ad bileşenlerine sahip herhangi bir kitaplık için gerçekleşir.
Evet, bir sürümün bu şekilde yükseltilmesiyle ilgili sorunlar olabilir. Kitaplığın değiştirilmiş sürümü, önceki sürümle geriye dönük olarak uyumlu değilse, eski sürüme başvuran kod, eksik yöntemlerle derlenemedi. Mikro ve küçük sürüm güncellemesi için, bu genellikle bir sorun değildir, ancak büyük sürüm güncellemeleri için olabilir. Tamamen spesifik duruma bağlıdır.