Android Gradle Plugin 3.2.0 (Eylül 2018)
Android eklentisinin bu sürümü için gerekenler:
- Gradle 4.6 veya sonraki sürümler. Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
- SDK Derleme Araçları 28.0.3 veya sonraki sürümler.
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ıkCommandLineArgumentProvider
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 detrue
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şaretifalse
olarak ayarlar. -
android.enableJetifier
: Android eklentisitrue
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şaretifalse
olarak ayarlar.android.useAndroidX
politikası datrue
olarak ayarlıyken bu işareti yalnızcatrue
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ızdagoogle()
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
- JavaCompile artık veri bağlamalı projelerde önbelleğe alınabilir. (Sorun No. 69243050)
- Veri bağlamalı kitaplık modülleri için daha iyi derleme önleme. (Sorun No. 77539932)
- İsteğe bağlı yapılandırma özelliğini, öngörülemeyen bazı derleme hataları nedeniyle önceki sürümlerde devre dışı bıraktıysanız artık yeniden etkinleştirebilirsiniz. (Sorun No. 77910727)