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, 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 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 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."

Lint 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 bir 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 dosyalarında gerçek LintError örnekleri olan projelerin derlemelerini bozuyor. Hata mesajında, hangi lint kontrollerinin soruna neden olduğuyla ilgili bilgiler 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.0

Çözülen Sorunlar
Android Gradle eklentisi
AGP, yakında kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
AGP 8.5: Çok daha fazla "mergeDebugResources" görevi çalıştırılıyor ve bu da derlemeleri yavaşlatıyor
AGP'de varsayılan NDK olarak ndk 27'yi ayarlayın.
AGP, yakında kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
AGP, yakında kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
Android lint'i ç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'i çalıştırma işlemi NoSuchFileException ile başarısız oldu
Lint
Lint, ViewGroup olarak kullanılan geçersiz nesneleri kontrol etmelidir.
Ana makinesi null olan URI'ler için "android:host is missing" (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ı

Android Gradle eklentisi 8.7.1

Çözülen Sorunlar
Android Gradle eklentisi
agp dokümanlarında çok sayıda "TBD" var
Lint
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.2

Çözülen Sorunlar
Lint
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.3

Çözülen Sorunlar
Lint
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