Gradle için Android eklentisi, düzeltme 1.5.0 (Kasım 2015)
- Bağımlılıklar:
-
- Gradle 2.2.1 veya üzeri.
- Derleme Araçları 21.1.1 veya üzeri.
- Genel Notlar:
-
- Veri Bağlama eklentisi Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje başına
build.gradle
dosyasına aşağıdaki kodu ekleyin: - Üçüncü taraf eklentilerinin, derlenen
.class
dosyalarını.dex
dosyasına dönüştürülmeden önce müdahale etmesini sağlamak için yeni bir Transform API'si eklendi. Transform API, özel sınıf işleme eklemeyi basitleştirirken neleri değiştirebileceğiniz konusunda daha fazla esneklik sunar. Derlemeye dönüştürme eklemek içinTransform
arayüzlerinden birini uygulayarak yeni bir sınıf oluşturun veandroid.registerTransform(theTransform)
veyaandroid.registerTransform(theTransform, dependencies)
ile kaydedin. Görevleri birbirine bağlamaya gerek yoktur. Transform API ile ilgili olarak aşağıdakilere dikkat edin: - Dönüşüm şunlardan biri veya birkaçına uygulanabilir: mevcut proje, alt projeler ve harici kitaplıklar.
- Dönüşüm, genel olarak kaydedilmelidir ve tüm varyantlara uygulanmalıdır.
- Java Code Kapsam Kitaplığı (JaCoCo), ProGuard ve MultiDex aracılığıyla dahili kod işleme, artık Transform API'yi kullanıyor. Ancak Java Android Derleyici Kiti (Jack) bu API'yi kullanmaz. Yalnızca
javac/dx
kod yolu kullanır. - Gradle, dönüşümleri şu sırayla yürütür: JaCoCo, üçüncü taraf eklentiler, ProGuard. Üçüncü taraf eklentilerinin yürütme sırası, dönüşümlerin üçüncü taraf eklentileri tarafından eklenme sırasıyla eşleşir. Üçüncü taraf eklenti geliştiricileri, API aracılığıyla dönüşümlerin yürütme sırasını kontrol edemez.
ApplicationVariant
sınıfındadex
alıcısını kullanımdan kaldırdık. Artık değişken API'si aracılığıylaDex
görevine erişemezsiniz çünkü bu görev artık bir dönüşüm aracılığıyla gerçekleştiriliyor. Şu anda dex işlemini kontrol etmenin yerini alan bir yöntem yoktur.- Öğeler için sabit artımlı destek.
- Test projeleri için kullanılabilir hale getirilerek MultiDex desteği iyileştirildi ve artık testlerde
com.android.support:multidex-instrumentation
bağımlılığı otomatik olarak sunuluyor. - Gradle derlemesi eşzamansız görevleri çağırdığında ve çalışan sürecinde bir hata oluştuğunda Gradle derlemesinde düzgün şekilde başarısız olma ve temel hata nedenini bildirme özelliği eklendi.
- Birden fazla ABI içeren varyantlarda belirli bir Uygulama İkili Arabirimi'ni (ABI) yapılandırma desteği eklendi.
- Test yükleme veya çalıştırma sırasında
ANDROID_SERIAL
ortam değişkeni için cihaz seri numaralarının virgülle ayrılmış listesi desteği eklendi. - Android 5.0 (API düzeyi 20) ve sonraki sürümleri çalıştıran cihazlarda APK adı boşluk içerdiğinde oluşan yükleme hatası düzeltildi.
- Android Öğe Paketleme Aracı (AAPT) hata çıktısıyla ilgili çeşitli sorunlar düzeltildi.
- Daha hızlı artımlı derlemeler için JaCoCo artımlı enstrümantasyon desteği eklendi. Gradle için Android eklentisi artık JaCoCo enstrümanı doğrudan çağırıyor. JaCoCo aracının daha yeni bir sürümünü zorunlu kılmak için bunu derleme komut dosyası bağımlılığı olarak eklemeniz gerekir.
- JaCoCo desteği, sınıf olmayan dosyaları yok sayacak şekilde düzeltildi.
- Geriye dönük uyumluluk için derleme zamanında PNG oluşturma vektörel çekilebilir desteği eklendi.
Gradle için Android eklentisi, API sürümü belirtmeyen veya uygulama manifestindeki
<uses-sdk>
öğesinde 20 ya da daha düşük birandroid:minSdkVersion
özelliği belirten bir kaynak dizininde bulunan her vektör için PNG oluşturur. PNG yoğunluklarını, birbuild.gradle
dosyasınındefaultConfig
veyaproductFlavor
bölümlerindekigeneratedDensities
özelliğini kullanarak ayarlayabilirsiniz. - Eklentinin yalnızca bir kez oluşturduğu ve birim testi için kullandığı sahte
android.jar
paylaşımı eklendi.app
velib
gibi birden çok modül artık bu öğeyi paylaşıyor. Yeniden oluşturmak için$rootDir/build
öğesini silin. - APK'nın paketlenmesi yerine kod karartma görevlerinden önce gerçekleşecek olan Java kaynaklarının işlenmesi değiştirildi. Bu değişiklik, kod karartma görevlerinin, paketlerde kod karartma işlemini takiben Java kaynaklarını uyarlama fırsatı elde etmesini sağlar.
- Deneysel kitaplık eklentisinde Java Yerel Arayüzü (JNI) kodunun kullanılmasıyla ilgili bir sorun düzeltildi.
- Platform sürümünü, deneysel kitaplık eklentisindeki
android:compileSdkVersion
özelliğinden ayrı olarak ayarlama özelliği eklendi.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Veri Bağlama eklentisi Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje başına