Android Gradle Eklentisi 2.2.0 (Eylül 2016)
- Bağımlılıklar:
- Yeni:
- 
    - Gradle 2.14.1 kullanılır. Bu sürümde performans iyileştirmeleri ve yeni özellikler yer alır. Ayrıca Gradle arka plan programı kullanılırken yerel ayrıcalık yükseltmesine izin veren bir güvenlik açığı düzeltilir. Daha fazla bilgi için Gradle sürüm notlarını inceleyin.
- Gradle, 
      externalNativeBuild {}DSL'yi kullanarak artık yerel kaynaklarınıza bağlantı oluşturmanıza ve CMake veya ndk-build kullanarak yerel kitaplıkları derlemenize olanak tanıyor. Yerel kitaplıklarınızı oluşturduktan sonra Gradle bunları APK'nıza paketler. CMake ve ndk-build'i Gradle ile kullanma hakkında daha fazla bilgi edinmek için Projenize C ve C++ Kodu Ekleme başlıklı makaleyi inceleyin.
- Komut satırından derleme çalıştırdığınızda Gradle artık projenizin bağlı olduğu eksik SDK bileşenlerini veya güncellemeleri otomatik olarak indirmeye çalışır. Daha fazla bilgi edinmek için Eksik paketleri Gradle ile otomatik olarak indirme başlıklı makaleyi inceleyin.
- Yeni bir deneysel önbelleğe alma özelliği Gradle'ın kitaplıklarınızı dex'e dönüştürerek, depolayarak ve kitaplıklarınızın dex'e dönüştürülmüş sürümlerini yeniden kullanarak derleme sürelerini hızlandırmasına olanak tanır. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Derleme Önbelleği kılavuzunu inceleyin.
- Sıkıştırma, imzalama ve zipaligning işlemlerini tek bir görevde gerçekleştiren yeni bir varsayılan paketleme ardışık düzeni kullanılarak derleme performansı iyileştirilir. gradle.propertiesdosyanızaandroid.useOldPackaging=trueekleyerek eski paketleme araçlarını kullanmaya geri dönebilirsiniz. Yeni paketleme aracı kullanılırkenzipalignDebuggörevi kullanılamaz. Ancak,createZipAlignTask(String taskName, File inputFile, File outputFile)yöntemini çağırarak kendiniz oluşturabilirsiniz.
- APK imzalama artık geleneksel JAR imzalama yöntemine ek olarak APK İmza Şeması v2'yi kullanıyor. Tüm Android platformları, ortaya çıkan APK'ları kabul eder. İmzalama işleminden sonra bu APK'larda yapılan değişiklikler, v2 imzalarını geçersiz kılar ve cihazlara yüklenmelerini engeller. Bu özelliği devre dışı bırakmak için modül düzeyindeki build.gradledosyanıza aşağıdakileri ekleyin:Groovyandroid { ... signingConfigs { config { ... v2SigningEnabled false } } } Kotlinandroid { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } } 
- Multidex derlemelerinde artık Gradle'ın uygulamanızın main DEX dosyasına hangi sınıfları derleyeceğini belirlemek için ProGuard kurallarını kullanabilirsiniz. Android sistemi, uygulamanızı başlatırken önce ana DEX dosyasını yüklediğinden, belirli sınıfları ana DEX dosyasına derleyerek başlangıçta öncelik verebilirsiniz. Ana DEX dosyanız için özel olarak bir ProGuard yapılandırma dosyası oluşturduktan sonra, yapılandırma dosyasının yolunu buildTypes.multiDexKeepProguardkullanarak Gradle'a iletin. Bu DSL'nin kullanımı, uygulamanız için genel ProGuard kuralları sağlayan ve ana DEX dosyası için sınıfları belirtmeyenbuildTypes.proguardFileskullanımından farklıdır.
- Uygulamanızı bir cihaza yüklediğinizde boyutunu küçültebilen android:extractNativeLibsişaretinin desteği eklendi. Uygulama manifestinizin<application>öğesinde bu işaretifalseolarak ayarladığınızda Gradle, yerel kitaplıklarınızın sıkıştırılmamış ve hizalanmış sürümlerini APK'nızla birlikte paketler. Bu,PackageManager'ın kurulum sırasında yerel kitaplıklarınızı APK'dan cihazın dosya sistemine kopyalamasını önler ve uygulamanızın delta güncellemelerini daha küçük hale getirmenin avantajını da sunar.
- Artık ürün türleri için 
      versionNameSuffixveapplicationIdSuffixözelliklerini belirtebilirsiniz. (59614 numaralı sorun)
 
- Değişiklikler:
- 
  - 
    getDefaultProguardFileartık Gradle için Android eklentisinin sağladığı varsayılan ProGuard dosyalarını döndürüyor ve Android SDK'daki dosyaları kullanmıyor.
- Jack derleyici performansında ve özelliklerinde iyileştirmeler:
    - Jack artık testCoverageEnabled,trueolarak ayarlandığında Jacoco test kapsamını destekliyor.
- Ek açıklama işleyicileri için destek iyileştirildi. Sınıf yolunuzdaki ek açıklama işleyicileri (ör. compilebağımlılıkları) derlemenize otomatik olarak uygulanır. Ayrıca, derlemenizde bir ek açıklama işleyicisi belirtebilir ve modül düzeyindekibuild.gradledosyanızdajavaCompileOptions.annotationProcessorOptions {}DSL'sini kullanarak bağımsız değişkenler iletebilirsiniz:Groovyandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } } Kotlinandroid { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } } Derleme sırasında bir ek açıklama işleyicisi uygulamak ancak bunu APK'nıza dahil etmek istemiyorsanız annotationProcessorbağımlılık kapsamını kullanın:Groovydependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant } Kotlindependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant } 
- Varsayılan olarak, Gradle arka plan programının yığın boyutu en az 1,5 GB ise Jack artık Gradle ile aynı işlemde çalışır. Arka plan programı yığın boyutunu ayarlamak için gradle.propertiesdosyanıza aşağıdakileri ekleyin:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M 
 Ayarlayabileceğiniz parametrelerin listesi için komut satırından aşağıdakileri çalıştırın: java -jar /build-tools/jack.jar --help-properties 
- Jack artık 
 
- 
    
| Minimum sürüm | Varsayılan sürüm | Notlar | |
|---|---|---|---|
| Gradle | 2.14.1 | 2.14.1 | Daha fazla bilgi edinmek için Gradle'ı güncelleme başlıklı makaleyi inceleyin. | 
| SDK Derleme Araçları | 23.0.2 | 23.0.2 | SDK Derleme Araçları'nı yükleyin veya yapılandırın. | 
