Android Gradle eklentisi 9.2.0 (Nisan 2026)

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

Uyumluluk

Android Gradle eklentisi 9.2'nin desteklediği maksimum API düzeyi 37.0'dır. Diğer uyumluluk bilgileri:

Minimum sürüm Varsayılan sürüm Notlar
Gradle 9.4.1 9.4.1 Daha fazla bilgi edinmek için Gradle'ı güncelleme bölümünü inceleyin.
SDK Derleme Araçları 36.0.0 36.0.0 SDK Derleme Araçları'nı yükleyin veya yapılandırın.
NDK Yok 28.2.13676358 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.

Birleştirilmiş kapsam ve test raporları

AGP 9.2.0-alpha07, çeşitli test türlerinden (birim ve enstrümantasyon), modüllerden ve derleme varyantlarından test sonuçlarını ve kapsamını birleştiren HTML kontrol panelleri oluşturma görevlerini sunar. Bu sayede, tek bir kontrol panelinde kapsamlı bir genel bakış sağlanır. Daha fazla bilgi için Birleştirilmiş kod kapsamı raporları oluşturma ve Birleştirilmiş test raporlarını görüntüleme başlıklı makaleleri inceleyin.

R8 değişiklikleri

AGP 9.2.0'da aşağıdaki R8 değişiklikleri yer alır.

Çalışma zamanında görünmez açıklamaları korumak için daha katı -keepattributes semantik

Çalışma zamanında görünmez olan ek açıklamalar çalışma zamanında okunamıyor. Bu nedenle D8, çalışma zamanında görünmeyen ek açıklamaları koşulsuz olarak kaldırır ve bu durum değiştirilemez.

R8, ProGuard ile uyumluluk için çalışma zamanında görünmez ek açıklamaların çıkışını destekler. Ancak DEX'e derleme yapılırken, çalışma zamanında görünmeyen ek açıklamalar genellikle hiçbir zaman korunmamalıdır. Ancak, R8'in çalışma zamanında görünür ek açıklamaları koruması için -keepattributes *Annotation* kolaylık kuralını (doğrudan veya tüketici saklama kurallarından dolaylı olarak) eklemek yaygın bir uygulamadır. Maalesef bu durum, çalışma zamanı görünmez ek açıklamalarının da korunmasına neden olur.

Bu sorunu azaltmak ve D8 davranışıyla daha iyi eşleşmek için -keepattributes joker karakter içeren kalıplar artık RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations ve RuntimeInvisibleTypeAnnotations ile eşleşmiyor. Bu nedenle, çalışma zamanında görünmez olan ek açıklamalar yalnızca özellik adı joker karakterler olmadan açıkça belirtilmişse korunur.

Aşağıdaki kuralların hiçbiri artık çalışma zamanı görünmez ek açıklamalarını korumayacak:

-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*

Çalışma zamanında görünmez olan ek açıklamaları korumak için aşağıdaki kuralı kullanın:

-keepattributes RuntimeInvisibleAnnotations,
                RuntimeInvisibleParameterAnnotations,
                RuntimeInvisibleTypeAnnotations

Üye kurallarında olumsuzlanan adlar için destek

Yapılandırma dili, artık olumsuzlanmış üye adı kalıplarıyla eşleşebilmeniz için genişletildi.

Örneğin, "ForTesting" ile bitmeyen tüm yöntemlerle eşleşmek için aşağıdaki kuralı kullanın:

-keepclassmembers class com.example.MyClass {
  *** !*ForTesting(...);
}

Üye adı kalıpları, -if kurallarının ön koşulunda da olumsuzlanabilir. Olumsuzlanan üye adı kalıbı joker karakterler içeriyorsa bu joker karakterlere -if sonraki kuralda geri referans verilemez.

Çözülen sorunlar

Android Gradle eklentisi 9.2.1

Çözülen sorunlar
Android Gradle Eklentisi
java.lang.ClassNotFoundException: Gradle 9.2.0'a yükseltildikten sonra "com.android.tools.r8.RecordTag" sınıfı bulunamadı

Android Gradle eklentisi 9.2.0

Çözülen sorunlar
Android Gradle Eklentisi
Kullanıcılar commonTest'i kullanıp withHostTestBuilder'ı unutursa onları uyarın.
[fused lib - public] OkHttp includes sources
Kitaplıkta bildiri yer tutucularıyla androidDeviceTest çalıştırılamıyor (com.android.kotlin.multiplatform.library eklentisiyle AGP 9.0.0)
AGP, kullanıcının src/androidDeviceTest/java'da java devre dışı bırakılmışsa uyarı vermelidir.
AGP 9.0 No androidComponents.onVariant equivalent for applicationVariants.all.mergeAssetsProvider
`*.xml.flat` dosyaları mutlak dosya yolları içeriyor
R8D8ThreadPoolBuildService not registered
JDK 26 ile JdkImageTransform hatası
AGP 10.0'da AAR meta verilerinde minAgpVersion'ı otomatik olarak kodlama
Yeni AGP DSL'yi kullanarak APK'yı yeniden adlandırma
bootClasspath'e erişilirken (ancak değerlendirilirken değil) hata oluştu. IllegalStateException: targetCompatibility is not yet finalized (targetCompatibility henüz tamamlanmadı)
keepRules kaynak kümesi, kitaplıklar için çalışmıyor
CC uyumluluk beyanını AGP'ye yerleştirme
Kotlin Gradle eklentisi bağımlılığı 2.3.10 sürümüne güncellendi
Testler için ana uygulamadan daha yüksek bir compileSdk'ye izin ver
Hata analizi
İletideki yazım hatasını düzeltme
`SarifReporter.kt` dosyasında takılı kalan uzaklık işaretçisi nedeniyle Lint SARIF raporlarında bağlam penceresinin kesilmesi
Lint Gradle istemcisinde kritik bir özellik eksik olduğundan en iyi ihtimalle güvenilir değildir.
Kaynak küçültme devre dışı bırakıldığında Lint hatası
AGP 9 Lint, iç içe IntDef sabitleri kullanılırken WrongConstant hatası bildiriyor
Kaynak küçültme devre dışı bırakıldığında Lint hatası
Hata Analizi Entegrasyonu
Android Lint, Java 21 bayt koduna derlenen özel Lint kontrolleriyle başarısız oluyor
Hata analizi Gradle görevleri --quiet işaretini yoksayıyor
Shrinker (R8)
Java 11'i hedeflemek d8'i bozuyor gibi görünüyor