Android Gradle Eklentisi 8.7.0 (Ekim 2024)

Android Gradle eklentisi 8.7.0, çeşitli yeni özellikler ve iyileştirmeler içeren önemli bir sürümdür.

Uyumluluk

Android Gradle eklentisi 8.7'nin desteklediği maksimum API düzeyi 35'tir. Diğer uyumluluk bilgileri:

Minimum sürüm Varsayılan sürüm Notlar
"Gradle" 8.9 8.9 "Daha fazla bilgi edinmek için Gradle'ı güncelleme bölümünü inceleyin."
SDK Derleme Araçları 34.0.0 34.0.0 SDK Derleme Araçları'nı yükleyin veya yapılandırın.
NDK Yok 27.0.12077973 "NDK'nın farklı bir sürümünü yükleyin veya yapılandırın."
JDK 17 17 "Daha fazla bilgi edinmek için JDK sürümünü ayarlama başlıklı makaleyi inceleyin."

Hata analizi davranış değişikliği

Android Gradle Eklentisi 8.7.0-alpha08'den itibaren, Gradle ile lint çalıştırılırken LintError varsa lint analizi görevi istisna oluşturur. Bu değişiklik, nadir görülen hataların derleme önbelleğinde önbelleğe alınmasını engeller.

Maalesef bu değişiklik, lint temel çizgisi dosyalarında gerçek LintError örnekleri olan projelerin derlemelerini bozuyor. Hata mesajında, hangi lint kontrollerinin soruna neden olduğu hakkında bilgi yer alır. Bazı durumlarda, ilgili kitaplık bağımlılığını güncellemek sorunu çözebilir. Aksi takdirde, kitaplık yazarı sorunu düzeltilene kadar sorunlu lint kontrolünü devre dışı bırakabilirsiniz.

Çözülen sorunlar

Android Gradle eklentisi 8.7.3

Çözülen Sorunlar
Hata analizi
Lint çalıştırılırken birçok eksik analiz API yöntemi uyarısı
Yanlış pozitif lint kontrolü: android.permission.SCHEDULE_EXACT_ALARM yalnızca sistem uygulamalarına verilir

Android Gradle eklentisi 8.7.2

Çözülen Sorunlar
Hata analizi
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
Shrinker (R8)
[R8 8.6.27] Yöntem uygulaması "throw null" ile değiştirildi
Varsayılan Android ProGuard dosyaları, R8'in mevcut sürümüyle kullanıldığında uyarı veriyor
MissingStartupProfileItemsDiagnostic, ileti çok büyükse Gradle istemcisinin bellek yetersiz hatasıyla kilitlenmesine neden oluyor

Android Gradle eklentisi 8.7.1

Çözülen Sorunlar
Android Gradle Eklentisi
agp dokümanlarında çok sayıda "TBD" var
Hata analizi
AGP 8.6.1: Gerileme - Kotlin'de @LongDef içinde [Int].toLong() kullanılırken WrongConstant lint hatası
http veya https amaç filtresi şeması ayarlanırken "En az bir ana makine belirtilmelidir" lint hatası

Android Gradle eklentisi 8.7.0

Çözülen Sorunlar
Android Gradle Eklentisi
AGP, kullanıma sunulmak üzere olan API 35'i desteklediğini belirtmelidir.
AGP 8.5: Çok daha fazla "mergeDebugResources" görevi çalıştırılıyor ve bu da derlemeleri yavaşlatıyor
AGP'de ndk 27'yi varsayılan NDK yapın.
AGP, kullanıma sunulmak üzere olan API 35'i desteklediğini belirtmelidir.
AGP, kullanıma sunulmak üzere olan API 35'i desteklediğini belirtmelidir.
Android lint çalıştırma işlemi NoSuchFileException ile başarısız oldu
BuildType#initWith, son işleme bloğunu kopyalıyor ancak ProGuard yapılandırması uygulanmıyor
foregroundServiceType etiketleri için birleştirme yapılamıyor
Android lint çalıştırma işlemi NoSuchFileException ile başarısız oldu
Hata analizi
Lint, ViewGroup olarak kullanılan geçersiz nesneleri kontrol etmelidir.
Ana makinesi boş olan URI'ler için "android:host eksik" hatası
KtAnalysisSessionProvider'ın 8.7.0-alpha04 sürümünde kullanıma sunulan lint kontrolleriyle uyumsuzluğu
Kotlin ile PackageManager.ResolveInfoFlags.of kullanılırken "yanlış pozitif" WrongConstant hatası