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 için Gradle'i güncelleme bölümüne bakın."
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 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 bölümüne bakın."

Lint davranışında değişiklik

Android Gradle Eklentisi 8.7.0-alpha08'den itibaren, Gradle kullanılarak lint çalıştırıldığında LintError varsa lint analizi görevi bir istisna atar. Bu değişiklik, nadir hataların derleme önbelleğine yerleştirilmesini engeller.

Maalesef bu değişiklik, lint temel dosyalarında gerçek LintError örneklerinin bulunduğu projelerin derlemelerini bozuyor. Hata mesajı, hangi lint kontrollerinin soruna neden olduğuyla ilgili bilgileri içerir. Bazı durumlarda, ilgili kitaplık bağımlılığını güncellemek sorunu çözebilir. Aksi takdirde, kitaplık yazarı sorunu düzeltene 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, kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
AGP 8.5: Daha fazla sayıda "mergeDebugResources" görevi çalıştırılıyor ve derlemeler yavaşlıyor
ndk 27'yi AGP'de varsayılan NDK yapın.
AGP, kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
AGP, kullanıma sunulacak olan API 35'i desteklediğini iddia etmelidir.
Android lint çalıştırma işlemi NoSuchFileException hatasıyla başarısız oldu
BuildType#initWith, son işlem bloğunu kopyalar ancak proguard yapılandırması uygulanmaz
foregroundServiceType etiketleri birleştirilemez
Android lint çalıştırma işlemi NoSuchFileException hatasıyla başarısız oldu
Lint
Lint, ViewGroup olarak kullanılan geçersiz nesneleri kontrol etmelidir
Boş ana makine içeren URI'ler için "android:host eksik"
8.7.0-alpha04 sürümünde kullanıma sunulan lint kontrolleriyle KtAnalysisSessionProvider uyumsuzluğu
Kotlin ile PackageManager.ResolveInfoFlags.of kullanılırken "Yanlış pozitif" WrongConstant

Android Gradle eklentisi 8.7.1

Çözülen Sorunlar
Android Gradle eklentisi
agp dokümanlarında çok fazla TBD var
Lint
AGP 8.6.1: Geriye gidiş - Kotlin'de @LongDef içinde [Int].toLong() kullanıldığında WrongConstant lint hatası
http veya https intent-filter şemasını ayarlarken "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, mesaj çok büyükse Gradle istemcisini bellek yetersizliği hatasıyla kilitler

Android Gradle eklentisi 8.7.3

Çözülen Sorunlar
Lint
Linting çalıştırıldığında birçok Analysis API yöntemi uyarısı eksik
Yanlış pozitif lint kontrolü android.permission.SCHEDULE_EXACT_ALARM yalnızca sistem uygulamalarına verilir