Android Gradle eklentisi 8.3.0, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.
Uyumluluk
Android Gradle eklentisi 8.3'ün desteklediği maksimum API düzeyi, API düzeyi 34'tür. Diğer uyumluluk bilgileri:
Minimum sürüm | Varsayılan sürüm | Notlar | |
---|---|---|---|
Gradle | 8.4 | 8.4 | Daha fazla bilgi edinmek için Gradle'ı güncelleme başlıklı makaleyi inceleyin. |
SDK Build Tools | 34.0.0 | 34.0.0 | SDK oluşturma araçlarını yükleyin veya yapılandırın. |
NDK | Yok | 25.1.8937393 | NDK'nın farklı bir sürümünü yükleyin veya yapılandırın. |
JDK | 17 | 17 | Daha fazla bilgi için JDK sürümünü ayarlama konusuna bakın. |
Android Gradle eklentisi 8.3'teki yeni özellikler şunlardır:
Yama sürümleri
Android Studio Iguana ve Android Gradle eklentisi 8.3'teki yama sürümleri aşağıda listelenmiştir.
Android Studio Iguana | 2023.2.1 Patch 2 ve AGP 8.3.2 (Nisan 2024)
Bu küçük güncelleme hata düzeltmelerini içerir.
Android Studio Iguana | 2023.2.1 Patch 1 ve AGP 8.3.1 (Mart 2024)
Bu küçük güncelleme hata düzeltmelerini içerir.
Gradle Sürüm Katalogları için destek
Android Studio, bağımlılıkları tek bir merkezi konumda yönetmenize ve 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ı yapılandırmayı kolaylaştırıyor. Gradle sürüm kataloglarını ayarlamayı ve yapılandırmayı veya derlemenizi sürüm kataloglarına taşımayı öğrenin.
Kod tamamlama ve gezinme
Android Studio, TOML dosya biçiminde bir sürüm kataloğunu düzenlerken veya bir sürüm kataloğundan derleme dosyasına bağımlılık eklerken kod tamamlama özelliği sunar. Kod tamamlama özelliğini kullanmak için Ctrl+Boşluk (macOS'te Command+Boşluk) tuşlarına basın. Ayrıca, uygulamanızın build.gradle
dosyasındaki bir bağımlılık referansından, Ctrl+b (macOS'te Command+b) tuşlarına basarak sürüm kataloğunda bildirildiği yere hızlıca gidebilirsiniz.
Proje Yapısı iletişim kutusuyla entegrasyon
Projenizde TOML dosya biçiminde tanımlanmış bir sürüm kataloğu kullanılıyorsa Android Studio'daki Proje Yapısı iletişim kutusu Değişkenler görünümü (Dosya > Proje Yapısı > Değişkenler) aracılığıyla burada tanımladığınız değişkenleri düzenleyebilirsiniz. Her sürüm kataloğu için, o katalogdaki değişkenlerin listelendiği bir açılır liste bulunur. Bir değişkeni düzenlemek için değerini tıklayın ve üzerine yazın. Bu değişiklikleri kaydettiğinizde TOML dosyası buna göre güncellenir.
Bağımlılıkları Proje Yapısı iletişim kutusundaki Bağımlılıklar görünümünde (Dosya > Proje Yapısı > Bağımlılıklar) da 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ımlandıysa sürümü doğrudan bu şekilde güncellemenin değişkeni sabit kodlanmış bir değerle değiştireceğini unutmayın. Ayrıca, Project Structure (Proje Yapısı) iletişim kutusunu kullanıp kullanmadığınıza bakılmaksızın, bir bağımlılığı derleme dosyasından kaldırmanın bağımlılığı sürüm kataloğundan kaldırmadığını unutmayın.
Bilinen sorunlar ve sınırlamalar
Android Studio'da Gradle Sürüm Katalogları desteğiyle ilgili bilinen sorunlar veya sınırlamalar aşağıda belirtilmiştir.
Kotlin komut dosyalarında eklenti takma adı bildirimlerini vurgularken hata:
alias(libs.plugins.example)
biçiminde 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'da yalnızca TOML biçimindeki sürüm katalogları desteklenir: Şu anda Android Studio'da kod tamamlama, gezinme ve Proje Yapısı iletişim kutusu desteği yalnızca TOML dosyası biçiminde tanımlanan sürüm katalogları için kullanılabilir. Ancak, doğrudan
settings.gradle
dosyasına bir sürüm kataloğu ekleyebilir ve bağımlılıklarını projenizde kullanabilirsiniz.KTS derleme dosyaları için gezinme desteklenmiyor: Control+tıklama (macOS'te Command+tıklama) kullanarak sürüm kataloğundaki bir bağımlılık tanımına gitme, Kotlin komut dosyası kullanılarak yazılan derleme dosyaları için henüz desteklenmemektedir.
Firebase Asistan, bağımlılıkları doğrudan derleme komut dosyalarına ekler: Firebase Asistan, bağımlılıkları sürüm katalogları aracılığıyla değil, doğrudan derleme komut dosyalarınıza ekler.
"Kullanım yerlerini bul" işlevi desteklenmiyor: Derleme dosyası KTS veya Groovy'de olsa da, sürüm kataloğu değişkeninin diğer derleme dosyalarındaki kullanım yerlerini bulma henüz desteklenmiyor. Yani, bir sürüm kataloğundaki değişken tanımında Control+tıklama (macOS'te Command+tıklama) kullanıldığında değişkenin kullanıldığı derleme dosyalarına gidilmez.
Android Studio'daki Proje Yapısı iletişim kutusu, kök
gradle
klasöründe bulunan birden fazla katalog dosyasını gösterir ancak bileşik derlemeye ait katalogları göstermez. Örneğin, biri uygulamanız, diğeri de birleşik derlemeniz için olmak üzere iki katalog dosyanız varsa Proje Yapısı iletişim kutusunda yalnızca uygulama kataloğu dosyası gösterilir. Bileşik derleme kullanabilirsiniz ancak TOML dosyasını doğrudan düzenlemeniz gerekir.
Ek SDK analizleri: politika sorunları
Android Studio, build.gradle.kts
ve build.gradle
dosyalarında ve Google Play SDK Dizini'nde Play politikası ihlalleri olan herkese açık SDK'lar için Proje Yapısı İletişim Kutusu'nda lint uyarıları gösterir. Play politikalarını ihlal eden tüm bağımlılıkları güncellemeniz gerekir. Aksi takdirde, bu ihlaller gelecekte Google Play Console'da yayın yapmanızı engelleyebilir. Politika ihlali uyarıları, Android Studio'nun gösterdiği eski sürüm uyarılarını tamamlar.
Android Studio compileSdk sürümü desteği
Projenizde Android Studio'nun mevcut sürümü tarafından desteklenmeyen bir compileSdk
kullanılıyorsa Android Studio bir uyarı gösterir. Kullanılabiliyorsa projeniz tarafından kullanılan compileSdk
sürümünü destekleyen bir Android Studio sürümüne geçmenizi de önerir. Android Studio'yu yükseltmek için AGP'yi de yükseltmeniz gerekebileceğini unutmayın.
AGP, projeniz tarafından kullanılan compileSdk
mevcut AGP sürümü tarafından desteklenmiyorsa Build (Derleme) araç penceresinde bir uyarı da gösterir.
Lint davranış değişiklikleri
Android Gradle eklentisi 8.3.0-alpha02'den itibaren, bir modülde lint çalıştırıldığında 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 nedeni performansı artırmaktır.
Önceki davranışa dönmek için android.experimental.lint.analysisPerComponent=false
dosyanızda android.experimental.lint.analysisPerComponent=false
değerini ayarlayın.gradle.properties
Varsayılan olarak hassas kaynak küçültme
Kullanılmayan girişleri resources.arsc
dosyasından kaldıran ve kullanılmayan kaynak dosyalarını ortadan kaldıran hassas kaynak küçültme özelliği varsayılan olarak etkindir.
Bu küçültme etkinleştirildiğinde kaynak tablonuz küçülür ve APK'ya yalnızca referans verilen res
klasör girişleri dahil edilir.
Tam kaynak küçültmeyi devre dışı bırakmak için projenizin gradle.properties
dosyasında android.enableNewResourceShrinker.preciseShrinking
değerini false
olarak ayarlayın.
Çözülen sorunlar
Android Gradle eklentisi 8.3.0
Çözülen Sorunlar | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android Gradle eklentisi |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint Entegrasyonu |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Shrinker (R8) |
|
Android Gradle eklentisi 8.3.1
Çözülen Sorunlar | ||
---|---|---|
Android Gradle eklentisi |
|
|
Lint Entegrasyonu |
|
Android Gradle eklentisi 8.3.2
Çözülen Sorunlar | |||
---|---|---|---|
Android Gradle eklentisi |
|
||
Lint Entegrasyonu |
|