Android Gradle eklentisi 3.1.0 (Mart 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.4 | 4.4 | Daha fazla bilgi edinmek için Gradle'ı güncelleme başlıklı makaleyi inceleyin. |
SDK Build Tools | 27.0.3 | 27.0.3 | SDK oluşturma araçlarını yükleyin veya yapılandırın. android.buildToolsVersion özelliğini kullanarak derleme araçları için artık bir sürüm belirtmeniz gerekmediğini unutmayın. Eklenti, varsayılan olarak gerekli en düşük sürümü kullanır. |
Yeni DEX derleyicisi D8
Android Studio artık varsayılan olarak D8 adlı yeni bir DEX derleyici kullanıyor. DEX derlemesi, .class
bayt kodunu Android çalışma zamanı (veya Android'in eski sürümleri için Dalvik) için .dex
bayt koduna dönüştürme işlemidir. DX adlı önceki derleyiciyle karşılaştırıldığında D8, daha hızlı derleme yapar ve daha küçük DEX dosyaları oluşturur. Ayrıca, aynı veya daha iyi uygulama çalışma zamanı performansına sahiptir.
D8, günlük uygulama geliştirme iş akışınızı değiştirmemelidir. Ancak yeni derleyiciyle ilgili herhangi bir sorun yaşarsanız lütfen hata bildirin. D8'i geçici olarak devre dışı bırakabilir ve projenizin gradle.properties
dosyasına aşağıdakileri ekleyerek DX'i kullanabilirsiniz:
android.enableD8=false
Java 8 dili özelliklerini kullanan projelerde
artımlı desugaring varsayılan olarak etkindir. Projenizin gradle.properties
dosyasında aşağıdakileri belirterek devre dışı bırakabilirsiniz:
android.enableIncrementalDesugaring=false.
Önizleme kullanıcıları: D8'in önizleme sürümünü kullanıyorsanız artık SDK derleme araçlarında bulunan kitaplıklara (JDK'ya değil) 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 derleme hatası alırsınız.
Davranış değişiklikleri
-
Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluştururken artık varsayılan olarak şu ABI'ler için APK oluşturmaz:
mips
,mips64
vearmeabi
.Bu ABI'leri hedefleyen APK'lar oluşturmak istiyorsanız NDK r16b veya daha eski bir sürümü kullanmanız ve ABI'leri
build.gradle
dosyanızda aşağıdaki gibi belirtmeniz gerekir:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Android eklentisinin build cache özelliği artık 30 günden eski önbellek girişlerini kaldırıyor.
-
"auto"
öğesiniresConfig
öğesine iletmek artık APK'nıza paketlenecek dize kaynaklarını otomatik olarak seçmez."auto"
kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılıklarının sağladığı tüm dize kaynaklarını paketler. Bu nedenle, eklentinin APK'nıza paketlemesini istediğiniz her yerel ayarı belirtmeniz gerekir. -
Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından,
androidTestImplementation
yerineandroidTestApi
yapılandırmasını kullanarak enstrümanlı testlerinize 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, bileşik derlemelerdeki bağımlılıkları düzgün şekilde tanımamasına neden olan sorun düzeltildi.
- Android eklentisi tek bir derlemede birden çok kez yüklendiğinde (örneğin, birden çok alt proje, Android eklentisini buildscript sınıf yoluna dahil ettiğinde) proje senkronizasyon hatası almanıza neden olan sorun düzeltildi.