2016-03-23 24 views
1

İki modüllü bir android projem var. Bu uygulamayı Google Play'e zaten verdim. Bugün, bu iki modülün kendi not dosyalarında farklı destek kütüphanesi sürüm bağımlılıklarını kullandığını fark ettim (şu anda Google Play'de üretim aşamasındadır).Aynı android projenin iki android modülü farklı destek kitaplığı sürümleri kullanıyorsa ne olur?

Uygulama modüllerinde farklı destek kitaplığı sürümleri olması beklenmedik sorunlara neden olabilir mi?

cevap

4

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.

İlgili konular