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:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Üçü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çin Transform arayüzlerinden birini uygulayarak yeni bir sınıf oluşturun ve android.registerTransform(theTransform) veya android.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ında dex alıcısını kullanımdan kaldırdık. Artık değişken API'si aracılığıyla Dex 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 bir android:minSdkVersion özelliği belirten bir kaynak dizininde bulunan her vektör için PNG oluşturur. PNG yoğunluklarını, bir build.gradle dosyasının defaultConfig veya productFlavor bölümlerindeki generatedDensities ö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 ve lib 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.