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 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 için Gradle'i güncelleme başlıklı makaleyi inceleyin. |
SDK Oluşturma Araçları | 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 başlıklı makaleyi inceleyin. |
Aşağıda, Android Gradle eklentisi 8.3'teki yeni özellikler verilmiştir.
Yama sürümleri
Aşağıda, Android Studio Iguana ve Android Gradle eklentisi 8.3'teki yama sürümlerinin listesi verilmiştir.
Android Studio Iguana | 2023.2.1 Yama 2 ve AGP 8.3.2 (Nisan 2024)
Bu küçük güncelleme, bu hata düzeltmelerini içerir.
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ı için Destek
Android Studio, bağımlılıklarını tek bir merkezi konumda yönetmenize ve modüller ya da 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ı nasıl oluşturacağınızı ve yapılandıracağınızı veya derlemenizi sürüm kataloglarına nasıl taşıyacağınızı öğ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 tamamlamayı kullanmak için Ctrl+Boşluk (macOS'te Command+Boşluk) tuşlarına basın. Ayrıca, Ctrl+b (macOS'te Komut+b) tuşlarına basarak uygulamanızın build.gradle
dosyasında bir bağımlılık referansından sürüm kataloğunda bu referansın tanımlandığı 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 kutusunun Değişkenler görünümünden (Dosya > Proje Yapısı > Değişkenler) burada tanımladığınız değişkenleri düzenleyebilirsiniz. Her sürüm kataloğu için, söz konusu 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 ü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 kutusunun Bağımlılıklar görünümünde de (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ımlandıysa sürümü doğrudan bu şekilde güncellemenin, değişkenin yerini sabit kodlanmış bir değerle değiştirdiğini unutmayın. Ayrıca, Proje Yapısı iletişim kutusunu kullanıp kullanmadığınıza bakılmaksızın, bir derleme dosyasından kaldırılan bağımlılıkların sürüm kataloğundan kaldırılmadığını unutmayın.
Bilinen sorunlar ve sınırlamalar
Aşağıda, Android Studio'da Gradle Sürüm Katalogları desteğiyle ilgili bilinen sorunlar veya sınırlamalar verilmiştir.
Kotlin komut dosyası dosyalarında eklenti takma adı bildirimlerinin hata vurgulaması:
alias(libs.plugins.example)
biçiminde bir eklenti bildirimi eklediğinizde düzenleyici,libs
kısmının altına kırmızı bir alt çizgi ekler. Bu, Gradle 8.0 ve önceki sürümlerde 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ını destekler: Ş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. Ancak doğrudan
settings.gradle
dosyasına sürüm kataloğu ekleyebilir ve projenizde bu kataloğun bağımlılarını kullanabilirsiniz.KTS derleme dosyaları için gezinme desteklenmez: Ctrl+tıklama (macOS'te Command+tıklama) kullanarak bir sürüm kataloğunda bağımlılık tanımına gitmek, Kotlin komut dosyası kullanılarak yazılmış derleme dosyaları için henüz desteklenmemektedir.
Firebase Asistanı, bağımlılıkları doğrudan derleme komut dosyalarına ekler: Firebase Asistanı, sürüm katalogları aracılığıyla değil, bağımlılıkları doğrudan derleme komut dosyalarınıza ekler.
"Kullanım yerlerini bul" işlevi desteklenmiyor: KTS veya Groovy'da yazılmış olsun, bir sürüm kataloğu değişkeninin diğer derleme dosyalarındaki kullanım yerlerini bulma özelliği henüz desteklenmemektedir. Yani, bir sürüm kataloğundaki değişken tanımında Ctrl+tıklama (macOS'te Komut+tıklama) kullanıldığında, değişkenin kullanıldığı derleme dosyalarına yönlendirilmezsiniz.
Android Studio'daki Proje Yapısı iletişim kutusu, kök
gradle
klasöründeyse birden fazla katalog dosyasını gösterir ancak kompozit derleme için katalogları göstermez. Örneğin, biri uygulamanız için diğeri de birleşik derleme için olmak üzere iki katalog dosyanız varsa Proje Yapısı iletişim kutusunda yalnızca uygulama katalog dosyası gösterilir. Kompozit derleme kullanabilirsiniz ancak TOML dosyasını doğrudan düzenlemeniz gerekir.
Ek SDK analizleri: politika sorunları
Android Studio, Google Play SDK Dizini'nde Play politikası ihlalleri olan herkese açık SDK'lar için build.gradle.kts
ve build.gradle
dosyalarında ve Proje Yapısı İletişim Kutusu'nda lint uyarıları gösterir. Play politikalarını ihlal eden tüm bağımlılıklarını güncellemeniz gerekir. Bu ihlallerin gelecekte Google Play Console'da yayınlamanızı engelleyebileceğini unutmayın. Politika ihlali uyarıları, Android Studio tarafından gösterilen 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örüntüler. Varsa projenizin kullandığı compileSdk
sürümünü destekleyen bir Android Studio sürümüne geçmenizi de önerir. Android Studio'yu yükseltirken AGP'yi de yükseltmeniz gerekebileceğini unutmayın.
AGP, projeniz tarafından kullanılan compileSdk
AGP'nin mevcut sürümü tarafından desteklenmiyorsa Derleme araç penceresinde de uyarı gösterir.
Lint davranışında yapılan değişiklikler
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 analizi görevleri çalıştırılır. Bu değişikliğin nedeni performansı iyileştirmektir.
Önceki davranışa dönmek için gradle.properties
dosyanızda android.experimental.lint.analysisPerComponent=false
değerini ayarlayın.
Hassas kaynak küçültme varsayılan olarak açıktır
resources.arsc
dosyasından kullanılmayan girişleri kaldıran ve kullanılmayan kaynak dosyalarını ortadan kaldıran hassas kaynak küçültme özelliği varsayılan olarak açıktır.
Bu küçültme 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 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 |
|