Android Gradle eklentisi 3.1.0 (Mart 2018)

Android eklentisinin bu sürümü için aşağıdakiler gerekir:

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 Derleme Araçları 27.0.3 27.0.3 SDK Derleme Araçları'nı yükleyin veya yapılandırın. Artık android.buildToolsVersion özelliğini kullanarak derleme araçları için 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 derleyicisi 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. 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 projelerde artımlı desugaring 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 artık JDK'ya değil, SDK derleme araçlarında bulunan 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 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 derleme önbelleği artık 30 günden eski önbellek girişlerini siler.

  • "auto" öğesini resConfig'a aktarmak 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.
  • Tek bir derlemede Android eklentisi birden çok kez yüklendiğinde (ör. birden fazla alt proje, Android eklentisini buildscript classpath'lerine dahil ettiğinde) proje senkronizasyonu hatası almanıza neden olan sorun düzeltildi.