Android Gradle eklentisi 8.3 sürüm notları

JCenter deposu 31 Mart 2021'de salt okunur hale geldi. Daha fazla bilgi için JCenter hizmet güncellemesi bölümüne bakın.

Android Studio derleme sistemi Gradle'a dayanır ve Android Gradle eklentisi, Android uygulamaları oluşturmaya özel çeşitli özellikler ekler. Android Gradle eklentisi (AGP) genellikle Android Studio ile düzenli olarak güncellense de eklenti (ve Gradle sisteminin geri kalanı) Android Studio'dan bağımsız olarak çalışabilir ve ayrı olarak güncellenebilir.

Bu sayfada, Gradle araçlarınızı nasıl güncel tutacağınız ve son güncellemelerdeki yenilikler açıklanmaktadır. Eski Android Gradle eklentilerinin sürümleriyle ilgili sürüm notları için geçmiş sürüm notlarına bakın.

Android Gradle eklentisinin bu sürümünde nelerin düzeltildiğini görmek için kapatılan sorunlara göz atın.

Android Gradle eklentisinde yakında yapılacak zarar verici değişikliklerin üst düzey bir özeti için Android Gradle eklentisi yol haritasını inceleyin.

Android derlemelerinizi Gradle ile yapılandırmayla ilgili ayrıntılar için aşağıdaki sayfalara bakın:

Gradle derleme sistemi hakkında daha fazla bilgi için Gradle kullanıcı kılavuzuna bakın.

Android Gradle eklentisini güncelleyin

Android Studio'yu güncellerken Android Gradle eklentisini mevcut en yeni sürüme otomatik olarak güncellemeniz istenebilir. Güncellemeyi kabul edebilir veya projenizin derleme gereksinimlerine göre manuel olarak bir sürüm belirtebilirsiniz.

Eklenti sürümünü, Android Studio'daki Dosya > Proje Yapısı > Proje menüsünde veya üst düzey build.gradle.kts dosyasında belirtebilirsiniz. Eklenti sürümü, ilgili Android Studio projesinde yerleşik olarak bulunan tüm modüller için geçerlidir. Aşağıdaki örnekte, eklenti build.gradle.kts dosyasından 8.3.0 sürümüne ayarlanmaktadır:

Kotlin

plugins {
    id("com.android.application") version "8.3.0" apply false
    id("com.android.library") version "8.3.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.23" apply false
}

Modern

plugins {
    id 'com.android.application' version '8.3.0' apply false
    id 'com.android.library' version '8.3.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.9.23' apply false
}

Dikkat: Sürüm numaralarında 'com.android.tools.build:gradle:8.3.+' gibi dinamik bağımlılıklar kullanmamalısınız. Bu özelliğin kullanılması, beklenmedik sürüm güncellemelerine ve sürüm farklılıklarını çözmede zorluklara neden olabilir.

Belirtilen eklenti sürümü indirilmemişse Gradle, projenizi bir sonraki derlediğinizde indirir veya Android Studio menü çubuğundan Dosya > Projeyi Gradle Dosyalarıyla Senkronize Et'i tıklayın.

Gradle'ı güncelle

Android Studio'yu güncellerken Gradle'ı mevcut en son sürüme güncellemeniz istenebilir. Güncellemeyi kabul edebilir veya projenizin derleme gereksinimlerine göre manuel olarak bir sürüm belirtebilirsiniz.

Aşağıdaki tabloda, Android Gradle eklentisinin her sürümü için hangi Gradle sürümünün gerekli olduğu listelenmektedir. En iyi performans için hem Gradle'ın hem de eklentinin mümkün olan en son sürümünü kullanmalısınız.

Eklenti sürümüGereken minimum Gradle sürümü
8.4 (alfa)8.6-rc-1
8,38,4
8,28,2
8.18.0
8.08.0
7,47,5

Eski sürümler

Eklenti sürümüGerekli Gradle sürümü
7,37,4
7,27.3.3
7.17,2
7,07,0
4.2.0 ve üzeri6.7.1
4.1.0 ve üzeri6,5 ve üzeri
4.0.0 ve üzeri6.1.1 ve üzeri
3.6.0 - 3.6.45.6.4 ve üzeri
3,5,0 - 3,5,45.4.1 ve üzeri
3.4.0 - 3.4.35.1.1 ve üzeri
3.3.0 - 3.3.34.10.1 ve üzeri
3.2.0 - 3.2.14.6 ve üzeri
3.1.0 ve üzeri4.4 ve üzeri
3.0.0 ve üzeri4.1 ve üzeri
2.3.0 ve üzeri3,3 ve üzeri
2.1.3 - 2.2.32.14.1 - 3,5
2.0.0 - 2.1.22,10 - 2:13
1,5,02.2.1 - 2.13
1.2.0 - 1.3.12,2,1 - 2,9
1.0.0 - 1.1.32.2.1 - 2,3

Android Studio'daki Dosya > Proje Yapısı > Proje menüsünden Gradle sürümünü belirtebilir veya komut satırını kullanarak Gradle sürümünüzü güncelleyebilirsiniz. Tercih edilen yol, gradlew komut dosyalarını güncelleyen Gradle Wrapper komut satırı aracını kullanmaktır. Aşağıdaki örnekte, Gradle Wrapper kullanılarak Gradle sürümü 8.3 olarak ayarlanmaktadır. Hem Gradle'ı hem de Gradle Sarmalayıcı'yı yükseltmek için bu komutu iki kez çalıştırmanız gerektiğini unutmayın (daha fazla bilgi için Gradle Wrapper'ı Yükseltme konusuna bakın).

gradle wrapper --gradle-version 8.3

Ancak AGP'yi yeni güncellediyseniz ve güncel Gradle sürümüyle uyumlu değilse bu işlem bazı durumlarda başarısız olabilir. Bu durumda, gradle/wrapper/gradle-wrapper.properties dosyasındaki Gradle dağıtım referansını düzenlemeniz gerekir. Aşağıdaki örnekte Gradle sürümü gradle-wrapper.properties dosyasında 8.3 olarak ayarlanmaktadır.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.3-bin.zip
...

Android Gradle eklentisi ve Android Studio uyumluluğu

Android Studio derleme sistemi Gradle'a dayanır ve Android Gradle eklentisi (AGP), Android uygulamaları oluşturmaya özel çeşitli özellikler ekler. Aşağıdaki tabloda, Android Studio'nun her sürümü için hangi AGP sürümünün gerektiği listelenmektedir.

Android Studio sürümü Gerekli AGP sürümü
Denizanası | 1.3.2023 3,2-8,4
İguana | 1.2.2023 3,2-8,3
Kirpi | 1.1.2023 3,2-8,2
Zürafa | 1.3.2022 3,2-8,1
Flamingo | 1.2.2022 3,2-8,0
Elektrikli Yılan balığı | 1.1.2022 3,2-7,4

Eski sürümler

Android Studio sürümü Gerekli AGP sürümü
Yunus | 1.3.2021 3,2-7,3
Sincap | 1.2.2021 3,2-7,2
Yaban Arısı | 1.1.2021 3,2-7,1
Kutup Tilkisi | 1 Mart 2020 3,1-7,0

Android Gradle eklentisindeki yenilikler hakkında bilgi edinmek için Android Gradle eklentisi sürüm notlarına bakın.

Android API düzeyi için araçların minimum sürümleri

Belirli bir API düzeyini destekleyen minimum Android Studio ve AGP sürümleri vardır. Android Studio veya AGP'nin, projenizin targetSdk ya da compileSdk programının gerektirdiğinden daha eski sürümlerinin kullanılması, beklenmedik sorunlara yol açabilir. Android OS'nin önizleme sürümlerini hedefleyen projelerde çalışmak için Android Studio ve AGP'nin en son önizleme sürümünü kullanmanızı öneririz. Android Studio'nun önizleme sürümlerini kararlı bir sürümle birlikte yükleyebilirsiniz.

Android Studio ve AGP'nin minimum sürümleri aşağıdaki gibidir:

API seviyesi Minimum Android Studio sürümü Minimum AGP sürümü
VanillaIceCream önizlemesi Denizanası | 1.3.2023 8,4
34 Kirpi | 1.1.2023 8.1.1
33 Flamingo | 1.2.2022 7,2

Sürüm oluşturma değişiklikleri (Kasım 2020)

Android Gradle eklentisi (AGP) için sürüm numaralandırmasını, temel Gradle oluşturma aracıyla daha yakından eşleşecek şekilde güncelliyoruz.

Önemli değişiklikler şunlardır:

  • AGP artık semantik sürüm oluşturmayı kullanır ve zarar veren değişiklikler ana sürümler için hedeflenir.

  • AGP'nin her yıl Gradle ana sürümüyle uyumlu bir ana sürümü yayınlanacaktır.

  • AGP 4.2'den sonraki sürüm, 7.0 sürümü olur ve Gradle 7.x sürümüne yükseltmeyi gerektirir. AGP'nin her ana sürümü, temel Gradle aracında ana sürüm yükseltmesi gerektirir.

  • API'ler yaklaşık bir yıl önce kullanımdan kaldırılacak ve değişim işlevi de eşzamanlı olarak kullanıma sunulacak. Kullanımdan kaldırılan API'ler, yaklaşık bir yıl sonra sonraki büyük güncelleme sırasında kaldırılacaktır.

Uyumluluk

Android Gradle eklentisi 8.3'ün desteklediği maksimum API düzeyi, API düzeyi 34'tür. Uyumlulukla ilgili diğer bilgiler şunlardır:

Minimum sürüm Varsayılan sürüm Notlar
Gradle 8,4 8,4 Daha fazla bilgi edinmek için Gradle'ı güncelleme konusuna bakın.
SDK Oluşturma Araçları 34.0.0 34.0.0 SDK Derleme Araçlarını yükleyin veya yapılandırın.
400 Yok 25.1.8937393 Farklı bir NDK sürümü yükleyin veya yapılandırın.
JDK 17 17 Daha fazla bilgi edinmek için JDK sürümünü ayarlama bölümüne bakın.

Android Gradle eklentisi 8.3'teki yeni özellikler aşağıda verilmiştir.

Yama sürümleri

Aşağıda, Android Studio Iguana ve Android Gradle eklentisi 8.3'teki yama sürümlerinin bir listesi bulunmaktadır.

Android Studio Iguana | 2023.2.1 Yama 1 ve AGP 8.3.1 (Mart 2024)

Bu küçük güncelleme, bu hata düzeltmelerini içerir.

Gradle Sürüm Katalogları Desteği

Android Studio, bağımlılıkları tek bir merkezi konumdan yönetmenize ve bağımlılıkları modüller veya projeler arasında paylaşmanıza olanak tanıyan bir özellik olan TOML tabanlı Gradle Sürüm Katalogları'nı destekler. Android Studio artık düzenleyici önerileri ve Proje Yapısı iletişim kutusuyla entegrasyon sayesinde sürüm kataloglarının yapılandırılmasını kolaylaştırıyor. Gradle Sürüm Katalogları oluşturma ve yapılandırma veya derlemenizi sürüm kataloglarına taşıma hakkında bilgi edinin.

Kod tamamlama ve gezinme

Bir sürüm kataloğunu TOML dosya biçiminde düzenlerken veya bir sürüm kataloğundan derleme dosyasına bir bağımlılık eklerken Android Studio, kod tamamlama özelliği sunar. Kod tamamlama özelliğini kullanmak için Ctrl+Boşluk tuşlarına basın (macOS'te Command+Boşluk). Ayrıca, Ctrl+b (macOS'te Command+b) tuşlarına basarak uygulamanızın build.gradle dosyasındaki bir bağımlılık referansından bu referansın sürüm kataloğunda tanımlandığı yere hızlı bir şekilde gidebilirsiniz.

Bağımlılık eklerken kod tamamlama

Proje Yapısı iletişim kutusuyla entegrasyon

Projeniz TOML dosya biçiminde tanımlanan bir sürüm kataloğu kullanıyorsa burada tanımladığınız değişkenleri Android Studio'daki Proje Yapısı iletişim kutusu Değişkenler görünümünden (Dosya > Proje Yapısı > Değişkenler) düzenleyebilirsiniz. Her sürüm kataloğu için ilgili katalogdaki değişkenleri listeleyen bir açılır liste bulunur. Bir değişkeni düzenlemek için değerini tıklayın ve değişkenin üzerine yazın. Bu değişiklikleri kaydettiğinizde TOML dosyası uygun şekilde güncellenir.

Proje Yapısı iletişim kutusundaki bir sürüm kataloğundaki değişkenler

Bağımlılıkları ayrıca Proje Yapısı iletişim kutusu Bağımlılıklar görünümünde (Dosya > Proje Yapısı > Bağımlılıklar) güncelleyebilirsiniz. Proje Yapısı iletişim kutusunu kullanarak sürümleri güncellemek için düzenlemek istediğiniz modüle ve bağımlılığa gidin, ardından İstenen Sürüm alanını güncelleyin. Bu değişiklikleri kaydettiğinizde TOML dosyası buna göre güncellenir. Bağımlılık sürümü bir değişken kullanılarak tanımlanmışsa, sürümü doğrudan bu şekilde güncellediğinizde değişkenin sabit kodlu bir değerle değiştirileceğini unutmayın. Ayrıca, Proje Yapısı iletişim kutusunu kullansanız da kullanmasanız da bir bağımlılığı derleme dosyasından kaldırmanın, bağımlılığın sürüm kataloğundan kaldırılmayacağını unutmayın.

Proje Yapısı iletişim kutusundaki bir sürüm kataloğundaki bağımlılıklar

Bilinen sorunlar ve sınırlamalar

Aşağıda, Android Studio'daki Gradle Sürüm Katalogları desteğiyle ilgili bilinen sorunlar veya sınırlamalar bulunmaktadır.

  • Kotlin komut dosyası dosyalarında eklenti takma adı bildirimleri vurgulanırken hata oluştu: alias(libs.plugins.example) formunda bir eklenti bildirimi eklediğinizde düzenleyici, libs bölümünün altına kırmızı bir alt çizgi ekler. Bu, Gradle'ın 8.0 ve önceki sürümlerinde bilinen bir sorundur ve Gradle'ın gelecekteki bir sürümünde çözülecektir.

  • Android Studio yalnızca TOML biçimindeki sürüm katalogları için desteklenir: Şu anda Android Studio kod tamamlama, gezinme ve Proje Yapısı iletişim kutusu desteği yalnızca TOML dosya biçiminde tanımlanan sürüm katalogları için kullanılabilir. Yine de doğrudan settings.gradle dosyasına bir sürüm kataloğu ekleyebilir ve bu kataloğun bağımlılıklarını projenizde kullanabilirsiniz.

  • KTS derleme dosyalarında gezinme desteklenmez: Kotlin komut dosyası kullanılarak yazılan derleme dosyalarında Control+tıklama (macOS'te Command+tıklama) komutuyla sürüm kataloğundaki bir bağımlılık tanımına gitme henüz desteklenmemektedir.

  • Firebase Assistant, bağımlılıkları doğrudan derleme komut dosyalarına ekler: Firebase Assistant, bağımlılıkları sürüm katalogları yerine doğrudan derleme komut dosyalarınıza ekler.

  • "Kullanımları bulma" işlevi desteklenmez: Derleme dosyasının KTS veya Groovy'de olması fark etmeksizin, diğer derleme dosyalarında sürüm kataloğu değişkeninin kullanımlarını bulma özelliği henüz desteklenmemektedir. Yani bir sürüm kataloğundaki değişken tanımında Control+click (macOS'te Command+click) komutu, değişkenin kullanıldığı derleme dosyalarına yönlendirilemez.

  • Android Studio'daki Proje Yapısı iletişim kutusu, kök gradle klasöründe birden fazla katalog dosyası gösterir ancak birleşik derleme kataloglarını göstermez. Örneğin, biri uygulamanız ve diğeri birleşik derleme için iki katalog dosyanız varsa Proje Yapısı iletişim kutusunda yalnızca uygulama kataloğu dosyası gösterilir. Kompozit bir derleme kullanabilirsiniz, ancak doğrudan TOML dosyasını düzenlemeniz gerekir.

Ek SDK analizleri: Politika sorunları

Android Studio, build.gradle.kts ile build.gradle dosyalarında ve Google Play SDK Dizini'nde Play politikalarını ihlal eden herkese açık SDK'lar için Proje Yapısı İletişim Kutusu'nda lint uyarıları gösterir. Gelecekte Google Play Console'da içerik yayınlamanızı engelleyebileceği için Play politikalarını ihlal eden tüm bağımlılıkları güncellemeniz gerekir. Politika ihlali uyarıları, Android Studio tarafından gösterilen eski sürüm uyarılarını tamamlar.

Android Studio Derleme SDK sürümü desteği

Projeniz, Android Studio'nun geçerli sürümünde desteklenmeyen bir compileSdk kullanıyorsa Android Studio bir uyarı gösterir. Varsa projeniz tarafından kullanılan compileSdk destekleyen bir Android Studio sürümüne geçmeniz de önerilir. Android Studio'yu yeni sürüme geçirmek için AGP'yi yeni sürüme geçirmeniz gerekebileceğini unutmayın. Projenizde kullanılan compileSdk, AGP'nin geçerli sürümü tarafından desteklenmiyorsa AGP ayrıca Derleme araç penceresinde bir uyarı görüntüler.

Lint davranışı değişiklikleri

Bir modül üzerinde lint çalıştırırken, Android Gradle eklentisi 8.3.0-alpha02 ile başlayarak, modülün ana ve test bileşenleri için ayrı lint analiz görevleri çalıştırılır. Bu değişikliğin amacı performansı artırmaktır. Önceki davranışa geri dönmek için gradle.properties dosyanızda android.experimental.lint.analysisPerComponent=false değerini ayarlayın.

Varsayılan olarak hassas kaynak daralması açık

resources.arsc dosyasındaki kullanılmayan girişleri kaldıran ve kullanılmayan kaynak dosyaları ortadan kaldıran hassas kaynak daraltma varsayılan olarak etkindir. Bu daraltma etkinleştirildiğinde, kaynak tablonuz küçültülür ve APK'ya yalnızca referans verilen res klasör girişleri dahil edilir.

Hassas kaynak daraltmayı devre dışı bırakmak için projenizin gradle.properties dosyasında android.enableNewResourceShrinker.preciseShrinking öğesini false olarak ayarlayın.