Gradle için Android eklentisi, revizyon 1.5.0 (Kasım 2015)

Bağımlılıklar:
Minimum sürüm Varsayılan sürüm Notlar
Gradle 2.2.1 2.2.1 Daha fazla bilgi edinmek için Gradle'ı güncelleme başlıklı makaleyi inceleyin.
SDK Build Tools 21.1.1 21.1.1 SDK oluşturma araçlarını yükleyin veya yapılandırın.
Genel Notlar:
  • Veri bağlama eklentisi, Gradle için Android eklentisine entegre edildi. Bu özelliği etkinleştirmek için eklentiyi kullanan her proje bazındaki build.gradle dosyasına aşağıdaki kodu ekleyin:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Üçüncü taraf eklentilerinin, derlenmiş .class dosyalarını .dex dosyalarına dönüştürülmeden önce değiştirmesine olanak tanıyan yeni bir Transform API eklendi. Transform API, özel sınıf manipülasyonlarını eklemeyi basitleştirirken manipüle edebilecekleriniz konusunda daha fazla esneklik sunar. Bir dönüşümü derlemeye eklemek için Transform arayüzlerinden birini uygulayan yeni bir sınıf oluşturun ve bunu android.registerTransform(theTransform) veya android.registerTransform(theTransform, dependencies) ile kaydedin. Görevleri birbirine bağlamanıza gerek yoktur. Transform API hakkında aşağıdakileri unutmayın:
    • Dönüşüm, aşağıdakilerden birine veya daha fazlasına uygulanabilir: mevcut proje, alt projeler ve harici kitaplıklar.
    • Dönüşümlerin, tüm varyantlara uygulanması için global olarak kaydedilmesi gerekir.
    • Java Code Coverage Library (JaCoCo), ProGuard ve MultiDex aracılığıyla yapılan dahili kod işleme artık Transform API'yi kullanıyor. Ancak Java Android Compiler Kit (Jack) bu API'yi kullanmaz. Yalnızca javac/dx kod yolu kullanır.
    • Gradle, dönüştürmeleri şu sırayla yürütür: JaCoCo, üçüncü taraf eklentileri, ProGuard. Üçüncü taraf eklentilerinin yürütme sırası, dönüşümlerin üçüncü taraf eklentileri tarafından eklendiği sırayla eşleşir. Üçüncü taraf eklenti geliştiriciler, API aracılığıyla dönüşümlerin yürütme sırasını kontrol edemez.
  • ApplicationVariant sınıfındaki dex getter'ı kullanımdan kaldırdı. Artık bir dönüştürme işlemiyle gerçekleştirildiği için Dex görevine varyant API'si üzerinden erişemezsiniz. Dex sürecini kontrol etmek için şu anda bir alternatif yoktur.
  • Öğeler için artımlı destek düzeltildi.
  • Test projelerinde kullanılabilir hale getirilerek MultiDex desteği iyileştirildi. Ayrıca testler artık otomatik olarak com.android.support:multidex-instrumentation bağımlılığına sahip.
  • Gradle derlemesi eşzamansız görevleri çağırdığında ve çalışan işleminde bir hata oluştuğunda Gradle derlemesinin düzgün şekilde başarısız olmasına ve temel hata nedeninin bildirilmesine olanak tanındı.
  • Birden fazla ABI içeren varyantlarda belirli bir Uygulama İkili Arabirimi'ni (ABI) yapılandırma desteği eklendi.
  • Testler yüklenirken veya çalıştırılırken ANDROID_SERIAL ortam değişkeni için virgülle ayrılmış cihaz seri numaraları listesi desteği eklendi.
  • APK adında boşluk olduğunda Android 5.0 (API düzeyi 20) ve sonraki sürümleri çalıştıran cihazlarda yükleme hatası düzeltildi.
  • Android Öğe Paketleme Aracı (AAPT) hata çıkışı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 instrumenter'ı doğrudan çağırıyor. JaCoCo instrumenter'ın daha yeni bir sürümünü zorlamak için bunu derleme komut dosyası bağımlılığı olarak eklemeniz gerekir.
  • JaCoCo desteği, sınıf olmayan dosyaları yoksayacak şekilde düzeltildi.
  • Geriye dönük uyumluluk için derleme sırasında PNG oluşturmaya yönelik vektör çizilebilir desteği eklendi. Gradle için Android eklentisi, bir kaynak dizininde bulunan ve API sürümü belirtmeyen veya uygulama manifestindeki <uses-sdk> öğesinde 20 ya da daha düşük bir android:minSdkVersion özelliği belirten her vektör çizimi için PNG'ler oluşturur. PNG yoğunluklarını, generatedDensities özelliğini defaultConfig veya productFlavor bölümlerinde kullanarak ayarlayabilirsiniz.build.gradle
  • Eklenti tarafından yalnızca bir kez oluşturulan ve birim testi için kullanılan, taklit edilebilir android.jar paylaşımı eklendi. app ve lib gibi birden fazla modül artık bu özelliği kullanıyor. Yeniden oluşturmak için $rootDir/build dosyasını silin.
  • Java kaynaklarının işlenmesi, APK'nın paketlenmesi sırasında değil, karartma görevlerinden önce yapılacak şekilde değiştirildi. Bu değişiklik, karartma görevlerinin paket karartma işleminden sonra Java kaynaklarını uyarlama şansı elde etmesini sağlar.
  • Deneysel kitaplık eklentisinde Java Native Interface (JNI) kodu kullanmayla ilgili bir sorun düzeltildi.
  • Deneysel kitaplık eklentisinde platform sürümünü android:compileSdkVersion özelliğinden ayrı olarak ayarlama özelliği eklendi.