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 ve armeabi.

    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" öğesini resConfig öğ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 yerine androidTestApi 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.