Android Gradle Eklentisi 3.1.0 (Mart 2018)
Android eklentisinin bu sürümü için gerekenler:
-
Gradle 4.4 veya sonraki sürümler.
Daha fazla bilgi için Gradle'ı güncelleme bölümünü okuyun.
-
Build Tools 27.0.3 veya üzeri sürümler.
Eklenti varsayılan olarak gereken en düşük sürümü kullanır. Bu nedenle
android.buildToolsVersion
özelliğini kullanarak derleme araçları için artık bir sürüm belirtmenize gerek olmadığını unutmayın.
Yeni DEX derleyicisi, D8
Android Studio artık D8 adında yeni bir DEX derleyici varsayılan olarak kullanılıyor. DEX derleme, Android Runtime (veya Android'in eski sürümlerinde Dalvik) için .class
bayt kodunu .dex
bayt koduna dönüştürme işlemidir. DX adlı önceki derleyiciye kıyasla D8, uygulama çalışma zamanı performansı aynı veya daha iyiyken daha hızlı derler ve daha küçük DEX dosyaları çıkarır.
D8, günlük uygulama geliştirme iş akışınızı değiştirmeyecektir. Ancak yeni derleyiciyle ilgili herhangi bir sorun yaşarsanız lütfen hata bildiriminde bulunun. Projenizin gradle.properties
dosyasına aşağıdakileri ekleyerek D8'i geçici olarak devre dışı bırakabilir ve DX'i kullanabilirsiniz:
android.enableD8=false
Java 8 dili özelliklerini kullanan projeler için artımlı şeker giderme varsayılan olarak etkindir. Projenizin gradle.properties
dosyasında aşağıdakileri belirterek bu özelliği devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false.
Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız bu sürümün artık JDK'ye değil, SDK derleme araçlarındaki kitaplıklara göre derlendiğini unutmayın. Bu nedenle, JDK'da bulunan ancak SDK derleme araçları kitaplıklarında bulunmayan API'lere erişiyorsanız bir derleme hatası alırsınız.
Davranış değişiklikleri
-
Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluşturulurken, artık varsayılan olarak şu ABI'ler için APK oluşturmaz:
mips
,mips64
vearmeabi
.Bu ABI'leri hedefleyen APK'lar oluşturmak isterseniz NDK r16b veya daha düşük bir kullanmanız ve ABI'leri aşağıda gösterildiği gibi
build.gradle
dosyanızda belirtmeniz gerekir:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Android eklentisinin önbelleği oluşturma özelliği artık 30 günden daha eski önbellek girişlerini kaldırıyor.
-
"auto"
öğesininresConfig
hizmetine iletilmesi, APK'nıza paketlemek için dize kaynakları artık otomatik olarak seçilmez."auto"
öğesini kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılıklarının sağladığı tüm dize kaynaklarını paketler. Bu yüzden, bunun yerine, eklentinin APK'nıza paketlemesini istediğiniz her bir yerel ayarı belirtmeniz gerekir. -
Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından, desteklenen testlerinize
androidTestImplementation
yerineandroidTestApi
yapılandırmasını kullanarak bağımlılık eklemek, Gradle'ın aşağıdaki uyarıyı vermesine neden olur:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Düzeltmeler
- Android Studio'nun kompozit derlemelerdeki bağımlılıkları düzgün tanımadığı bir sorunu düzeltir.
- Android eklentisini tek bir derlemede birden fazla kez yüklerken proje senkronizasyon hatasıyla karşılaştığınız sorunu düzeltir. Örneğin, birden fazla alt projenin derleme komut dosyası sınıf yolunda Android eklentisini içermesi gibi.