Android Gradle Plugin 3.2.0 (Eylül 2018)

Android eklentisinin bu sürümü için gerekenler:

3.2.1 (Ekim 2018)

Bu güncellemeyle birlikte artık SDK Derleme Araçları için sürüm belirtmeniz gerekmiyor. Android Gradle eklentisi artık varsayılan olarak 28.0.3 sürümünü kullanıyor.

Yeni özellikler

  • Android App Bundle oluşturma desteği: Uygulama paketi, uygulamanızın derlenen tüm kod ve kaynaklarını içeren yeni bir yükleme biçimidir. APK oluşturma işlemini erteler ve Google Play Store'da oturum açarsınız. Artık birden fazla APK oluşturmak, imzalamak ve yönetmek zorunda değilsiniz. Ayrıca kullanıcılar, cihazları için optimize edilmiş daha küçük indirmelerden yararlanabilirler. Daha fazla bilgi için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.

  • Ek açıklama işlemcileri kullanılırken iyileştirilmiş artımlı derleme hızları için destek: AnnotationProcessorOptions DSL artık CommandLineArgumentProvider hizmetinin kapsamını genişletiyor. Böylece siz veya ek açıklama işleyen yazarı, artımlı derleme özelliği türü ek açıklamaları kullanarak işlemci için bağımsız değişkenlere ek açıklama ekleyebilir. Bu ek açıklamaları kullanmak, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını iyileştirir. Daha fazla bilgi edinmek için Bağımsız değişkenleri ek açıklama işlemcilerine iletme bölümünü okuyun.

  • AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümleriyle Android Gradle eklentisi 3.2.0 kullanılırken, menü çubuğundan Yeniden düzenle > AndroidX'e taşı'yı seçerek projenizin yerel ve Maven bağımlılıklarını yeni AndroidX kitaplıklarını kullanacak şekilde taşıyabilirsiniz. Bu taşıma aracını kullandığınızda, gradle.properties dosyanızda aşağıdaki işaretler de true olarak ayarlanır:

    • android.useAndroidX: Android eklentisi, true olarak ayarlandığında Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmezse eklenti varsayılan olarak işareti false olarak ayarlar.

    • android.enableJetifier: Android eklentisi true olarak ayarlandığında, mevcut üçüncü taraf kitaplıkların ikili kodlarını yeniden yazarak mevcut üçüncü taraf kitaplıkları otomatik olarak AndroidX'i kullanacak şekilde taşır. Bu işaret belirtilmezse eklenti varsayılan olarak işareti false olarak ayarlar. android.useAndroidX politikası da true olarak ayarlıyken bu işareti yalnızca true olarak ayarlayabilirsiniz. Aksi takdirde yapı hatası alırsınız.

      Daha fazla bilgi edinmek için AndroidX'e genel bakış başlıklı makaleyi okuyun.

  • Yeni kod küçültücü, R8: R8, ProGuard'ın yerini alan yeni bir kod küçültme ve kod karartma aracıdır. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek R8'in önizleme sürümünü kullanmaya başlayabilirsiniz:

            android.enableR8 = true
            
            android.enableR8 = true
            

Davranış değişiklikleri

  • D8 ile sudan arındırma özelliği artık varsayılan olarak etkin.

  • AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için aşağıda gösterildiği gibi build.gradle dosyanızda google() bağımlılığı bulunduğundan emin olun:

              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
  • Yerel multidex artık varsayılan olarak etkin. Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya üstünü çalıştıran bir cihaza dağıtırken yerel multidex'i etkinleştiriyordu. Artık Android Gradle eklentisi, ister bir cihaza dağıtım yapıyor ister yayınlanmak üzere bir APK oluşturuyor olun, minSdkVersion=21 veya daha yüksek bir değere ayarlanmış tüm modüller için yerel multidex'i etkinleştirir.

  • Eklenti artık protobuf eklentisinin (0.8.6), Kotlin eklentisinin (1.2.50) ve Crashlytics eklentisinin (1.25.4) minimum sürümünü zorunlu kılıyor.

  • Özellik modülü eklentisi com.android.feature, artık modül adı belirlenirken yalnızca harf, rakam ve alt çizgi kullanılmasını zorunlu kılıyor. Örneğin, özellik modülü adınız tire içeriyorsa yapı hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.

Hata düzeltmeleri