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 için Gradle'i güncelleme başlıklı makaleyi inceleyin.
SDK Oluşturma Araçları 27.0.3 27.0.3 SDK Oluşturma Araçları'nı yükleyin veya yapılandırın. Artık android.buildToolsVersion mülkünü kullanarak derleme araçları için bir sürüm belirtmeniz gerekmediğini unutmayın. Eklenti varsayılan olarak gerekli minimum 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 derleyiciye kıyasla D8, aynı veya daha iyi uygulama çalışma zamanındaki performansı sunarken daha hızlı derleme yapar ve daha küçük DEX dosyaları oluşturur.

D8, günlük uygulama geliştirme iş akışınızı değiştirmemelidir. Ancak yeni derleyiciyle ilgili herhangi bir sorunla karşılaşırsanız lütfen hata bildirin. Projenizin gradle.properties dosyasına aşağıdakileri ekleyerek D8'i geçici olarak devre dışı bırakıp DX'yi kullanabilirsiniz:

      android.enableD8=false
    

Java 8 dil özelliklerini kullanan projelerde, artımlı şeker kaldırma işlemi 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 bir önizleme sürümünü zaten kullanıyorsanız artık JDK yerine SDK derleme araçlarına dahil edilen kitaplıklarla derlendiğini unutmayın. Bu nedenle, JDK'de bulunan ancak SDK derleme araçları kitaplıklarında bulunmayan API'lere erişiyorsanız derleme hatası alırsınız.

Davranışta yapılan değişiklikler

  • Her biri farklı bir ABI'yi hedefleyen birden fazla APK oluştururken IDE 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 sürümleri kullanmanız ve build.gradle dosyanızda ABI'leri aşağıda gösterildiği gibi belirtmeniz gerekir:

              splits {
                  abi {
                      include 'armeabi', 'mips', 'mips64'
                      ...
                  }
              }
            
              splits {
                  abi {
                      include("armeabi", "mips", "mips64")
                      ...
                  }
              }
            
  • Android eklentisinin önbelleği oluştur özelliği artık 30 günden eski önbellek girişlerini kaldırıyor.

  • "auto" değerini resConfig parametresine göndermek artık APK'nıza paketlenecek dize kaynaklarını otomatik olarak seçmez. "auto"'ü kullanmaya devam ederseniz eklenti, uygulamanızın ve bağımlılarının sağladığı tüm dize kaynaklarını paketler. Bu nedenle, eklentinin APK'nıza paketlemesini istediğiniz her yerel dili belirtmeniz gerekir.

  • Yerel modüller uygulamanızın test APK'sına bağlı olamayacağından, androidTestImplementation yerine androidTestApi yapılandırmasını kullanarak instrumented testlerinize bağımlılık eklemek Gradle'ın aşağıdaki uyarıyı yayınlamasına 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, birleşik derlemelerdeki bağımlılıklarını düzgün şekilde tanımamasına neden olan sorun düzeltildi.
  • Android eklentisini tek bir derlemede birden çok kez yüklerken proje senkronizasyonu hatası aldığınız sorun düzeltildi. Örneğin, her biri buildscript sınıf yolu içinde Android eklentisini içeren birden fazla alt proje olduğunda bu sorunla karşılaşabilirsiniz.