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 için Gradle'i güncelleme başlıklı makaleyi inceleyin.
SDK Oluşturma Araçları 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üncellemeyle birlikte, SDK Derleme Araçları için artık bir sürüm belirtmeniz gerekmez. 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 derlenmiş kod ve kaynaklarının tamamını içeren, APK oluşturma ve imzalama işlemini ise Google Play Store'a bırakan yeni bir yükleme biçimidir. Artık birden fazla APK oluşturmak, imzalamak ve yönetmek zorunda değilsiniz. Kullanıcılar ise cihazları için optimize edilmiş daha küçük indirme dosyalarını alır. Daha fazla bilgi edinmek için Android App Bundle'lar hakkında başlıklı makaleyi okuyun.

  • Notlandırma işleyicileri kullanırken daha iyi artımlı derleme hızları için destek: AnnotationProcessorOptions DSL artık CommandLineArgumentProvider'i genişletiyor. Bu sayede, sizin veya notlandırma işleyicisinin yazarının, artımlı derleme mülk türü ek açıklamalarını kullanarak işleyicinin bağımsız değişkenlerine ek açıklama eklemesine olanak tanınıyor. Bu ek açıklamaların kullanılması, artımlı ve önbelleğe alınmış temiz derlemelerin doğruluğunu ve performansını iyileştirir. Daha fazla bilgi edinmek için Not ekleme işleyicilerine bağımsız değişkenleri aktarma başlıklı makaleyi okuyun.

  • AndroidX için taşıma aracı: Android 3.2 ve sonraki sürümlerde Android Gradle 3.2.0 eklentisini kullanı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: 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 kullanır.

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

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

  • Yeni kod daraltıcı R8: R8, ProGuard'ın yerini alan kod daraltma ve karartma için yeni bir araçtı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ışta yapılan değişiklikler

  • D8 ile şeker azaltma özelliği artık varsayılan olarak etkindir.

  • AAPT2 artık Google'ın Maven deposunda. AAPT2'yi kullanmak için build.gradle dosyanızda aşağıda gösterildiği gibi google() 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 çoklu dizin artık varsayılan olarak etkindir. Android Studio'nun önceki sürümleri, bir uygulamanın hata ayıklama sürümünü Android API düzeyi 21 veya sonraki sürümleri çalıştıran bir cihaza dağıtırken yerel çoklu dizeyi etkinleştiriyordu. Artık bir cihaza dağıtıyor veya yayınlamak için APK oluşturuyor olsanız da Android Gradle eklentisi, minSdkVersion=21 veya daha yüksek bir değer ayarlayan tüm modüller için yerel çoklu dizeyi etkinleştiriyor.

  • 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ü eklentisicom.android.feature, artık modül adı belirtirken yalnızca harf, rakam ve alt çizgi kullanılmasını zorunlu kılıyor. Örneğin, özellik modülünüzün adı kısa çizgi içeriyorsa bir derleme hatası alırsınız. Bu davranış, dinamik özellik eklentisinin davranışıyla aynıdır.

Hata düzeltmeleri

  • JavaCompile artık veri bağlama içeren projelerde önbelleğe alınabilir. (Sayı: 69243050)
  • Veri bağlama içeren kitaplık modülleri için daha iyi derlemeden kaçınma. (Sayı 77539932)
  • Önceki sürümlerde öngörülemeyen bazı derleme hataları nedeniyle devre dışı bıraktıysanız artık istediğinizde yapılandır seçeneğini yeniden etkinleştirebilirsiniz. (Sayı 77910727)