Android Gradle eklentisi 3.2.0 (Eylül 2018)

Android eklentisinin bu sürümü için aşağıdakiler gereklidir:

Minimum sürüm Varsayılan sürüm Notlar
Gradle 4.6 4.6 Daha fazla bilgi edinmek için Gradle'ı güncelleme başlıklı makaleyi inceleyin.
SDK Build Tools 28.0.3 28.0.3 SDK oluşturma araçlarını yükleyin veya yapılandırın.

3.2.1 (Ekim 2018)

Bu güncelleme ile birlikte, SDK oluşturma araçları için artık 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, APK oluşturma ve imzalama işlemlerini Google Play Store'a bırakırken uygulamanızın derlenmiş kod ve kaynaklarının tamamını içeren yeni bir yükleme biçimidir. Artık birden fazla APK oluşturmanız, imzalamanız ve yönetmeniz gerekmez. Kullanıcılar, cihazları için optimize edilmiş daha küçük indirmeler elde eder. Daha fazla bilgi edinmek için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.

  • Açıklama işlemcileri kullanılırken geliştirilmiş artımlı derleme hızları için destek: AnnotationProcessorOptions DSL artık CommandLineArgumentProvider'yi genişletiyor. Bu sayede, artımlı derleme özelliği türü açıklamalarını kullanarak işlemci için bağımsız değişkenlere açıklama ekleyebilirsiniz. Bu ek açıklamaları kullanmak, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını artırır. Daha fazla bilgi edinmek için Pass arguments to annotation processors başlıklı makaleyi inceleyin.

  • AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümlerle Android Gradle eklentisi 3.2.0'ı kullanırken menü çubuğundan Refactor > Migrate to AndroidX'i 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: true olarak ayarlandığında Android eklentisi, Destek Kitaplığı yerine uygun AndroidX kitaplığını kullanır. Bu işaret belirtilmediğinde eklenti varsayılan olarak false değerini ayarlar.

    • android.enableJetifier: true olarak ayarlandığında Android eklentisi, mevcut üçüncü taraf kitaplıklarını ikili dosyalarını yeniden yazarak AndroidX'i kullanacak şekilde otomatik olarak taşır. Bu işaret belirtilmediğinde eklenti, varsayılan olarak false değerini ayarlar. Bu işareti yalnızca true olarak ayarlayabilirsiniz. android.useAndroidX da true olarak ayarlanmalıdır. Aksi takdirde derleme hatası alırsınız.

      Daha fazla bilgi 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 karartma aracıdır. R8'in önizleme sürümünü kullanmaya başlamak için projenizin gradle.properties dosyasına aşağıdakileri ekleyin:

            android.enableR8 = true
            
            android.enableR8 = true
            

Davranış değişiklikleri

  • D8 ile desugaring artık varsayılan olarak etkinleştirildi.

  • AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için google() dosyanızda aşağıdaki gibi build.gradle bağımlılığının 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 etkindir. Android Studio'nun önceki sürümlerinde, bir uygulamanın hata ayıklama sürümü Android API düzeyi 21 veya sonraki sürümlerin yüklü olduğu bir cihaza dağıtılırken yerel multidex etkinleştiriliyordu. Artık bir cihaza dağıtım yaparken veya yayın için APK oluştururken Android Gradle eklentisi, minSdkVersion=21 veya sonraki sürümleri hedefleyen tüm modüller için yerel çoklu dex'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 bir modül adı belirtirken yalnızca harf, rakam ve alt çizgi kullanımını zorunlu kılıyor. Örneğin, özellik modülü adınızda tire varsa derleme hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.

Hata düzeltmeleri