Android Gradle Eklentisi 8.4.0 (Nisan 2024)

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

Uyumluluk

Android Gradle eklentisi 8.4'ün desteklediği maksimum API düzeyi, API düzeyi 34'tür. Diğer uyumluluk bilgileri:

Minimum sürüm Varsayılan sürüm Notlar
Gradle 8.6 8.6 Daha fazla bilgi edinmek 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 26.1.10909125 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.

Android Gradle eklentisi 8.4'teki yeni özellikler şunlardır:

Yama sürümleri

Android Studio Jellyfish ve Android Gradle eklentisi 8.4'teki yama sürümlerinin listesini aşağıda bulabilirsiniz.

Android Studio Jellyfish | 2023.3.1 Patch 2 ve AGP 8.4.2 (Haziran 2024)

Önemli güvenlik güncellemesi: Android Studio Iguana | 2023.2.1 ve sonraki sürümlerde bulunan GitHub eklentisindeki bir güvenlik açığı, erişim jetonlarının yetkisiz taraflarca ele geçirilmesine neden olabilir.

Düzeltme: Jetbrains, IntelliJ platformu ürünlerindeki sorunu çözdü ve düzeltme artık Android Studio Jellyfish | 2023.3.1 Patch 2 (2023.3.1.20) sürümünde kullanılabiliyor.

Kararlı kanalda Android Studio derlemeniz varsa Yardım > Güncellemeleri Denetle'yi (veya macOS'te Android Studio > Güncellemeleri Denetle) tıklayarak güncellemeyi alabilirsiniz. Aksi takdirde en son kararlı derlemeyi indirin.

Ayrıca, IDE'de GitHub çekme isteği işlevini etkin bir şekilde kullandıysanız eklenti tarafından kullanılan tüm GitHub jetonlarını iptal etmenizi önemle tavsiye ederiz. Eklenti, OAuth entegrasyonunu veya kişisel erişim jetonlarını (PAT'ler) kullanabildiğinden lütfen her ikisini de kontrol edin ve gerektiğinde iptal edin:

  • OAuth entegrasyonu için erişimi iptal etmek üzere Uygulamalar > Yetkili OAuth Uygulamaları'na gidin ve JetBrains IDE Integration jetonunun erişimini iptal edin.
  • PAT'lerin erişimini iptal etmek için Kişisel erişim jetonları'na gidin ve GitHub eklentisi için verilen jetonu silin. Varsayılan jeton adı IntelliJ IDEA GitHub entegrasyonu eklentisi'dir ancak özel bir ad kullanıyor olabilirsiniz.

Jetonların erişimini iptal ettikten sonra, eklentiyi tekrar kurmanız gerekir. Böylece Git işlemleri de dahil olmak üzere tüm eklenti özelliklerini tekrar kullanabilirsiniz.

Bu durumdan dolayı özür dileriz ve tüm kullanıcıları kodlarını ve verilerini korumak için hemen güncelleme yapmaya çağırırız.

Bu küçük güncelleme şu hata düzeltmelerini de içerir.

Android Studio Jellyfish | 2023.3.1 Patch 1 ve AGP 8.4.1 (Mayıs 2024)

Bu küçük güncelleme hata düzeltmelerini içerir.

Kitaplık sınıfları küçültülür

Android Gradle Eklentisi 8.4'ten itibaren, bir Android kitaplığı projesi küçültülürse projeler arası yayın için küçültülmüş program sınıfları yayınlanır. Bu, bir uygulama, Android kitaplığı alt projelerinin küçültülmüş sürümüne bağlıysa APK'nın küçültülmüş Android kitaplığı sınıflarını içereceği anlamına gelir. APK'da eksik sınıflar varsa kitaplık saklama kurallarını ayarlamanız gerekebilir.

AAR oluşturup yayınlıyorsanız kitaplığınızın bağlı olduğu yerel JAR'lar AAR'ye küçültülmeden dahil edilir. Bu da kod küçültücünün bunlar üzerinde çalışmayacağı anlamına gelir.

Önceki davranışa dönmek için gradle.properties dosyasında android.disableMinifyLocalDependenciesForLibraries değerini ayarlayın ve hata bildirin. AGP'nin gelecekteki sürümlerinde bu işaret kaldırılacaktır.

Çözülen sorunlar

Android Gradle eklentisi 8.4.0

Çözülen Sorunlar
Android Gradle eklentisi
`--release` seçeneğinin JavaCompile için neden kullanılamadığına dair hata mesajı iyileştirildi.
@DoNotCacheByDefault kullanarak MergeSourceSetFolders'ın önbelleğe alınmasını devre dışı bırakma
AGP 8.2.0'da JaCoCo sürümü ayarlanamıyor
DynamicFeatureBuildType, isDebuggable özelliğini içermiyor
Küçültülmüş kitaplık sınıfları, projeler arası tüketim için doğru şekilde yayınlanmıyor
Oluşturulan dosyaları hariç tutan Variant#sources API'si sağlama
AGP modelleri, java-platform proje bağımlılıkları içermez
ExtractAarTransform, classes.jar dosyası olmayan aar'lar için yeniden üretilemeyen classes.jar dosyası oluşturuyor
ComposeOptions'tan sourceInformation'ın yapılandırılmasına izin verin.
Cannot find field: sdk_runtime in message android.bundle.DeviceSpec
compileOnlyApi desteği
Kaynak işleme devre dışı bırakıldığında R8, kitaplık modülünde başarısız oluyor
Dönüşüm sırasında yapay ürün adını değiştirme özelliği eklendi.
Görev çıkışını sourceSets.androidMain.resources öğesinin srcDir'ine eklemek görev bağımlılıkları oluşturmaz
AndroidPluginVersion.toString() işlevinde baştaki 0'lar eksik
Artifacts.add(FileSystemLocation) daha kısıtlayıcı olmalıdır.
AGP 8.3.0-alpha11, android.content.res.Resources$NotFoundException ile başlatılırken kilitlenen bir sürüm APK'sı oluşturuyor
Dinamik özelliklerin kullanıldığı projede Android Gradle eklentisi 8.2.0 yükleme görevi başarısız oluyor
AIDL derlemesi, IndexOutOfBoundsException: Index 0 out of bounds for length 0 hatasıyla başarısız oluyor
MergeJavaResourcesTask artımlı giriş işleme sorunu
AGP 8.3.0-alpha02, bilinen güvenlik açıklarına sahip kitaplıklara bağımlı
Seçilen etkinlik şablonu, androidx.* bağımlılıklarına sahip bir proje gerektiriyor
AGP Upgrade Assistent, consumerProguardFiles'ı modülden yanlışlıkla kaldırıyor
AGP Yükseltme Asistanı Sonsuza Kadar Yükleniyor
SourceDirectories#static, GenerateBuildConfig görevine bağlı olmamalıdır.
Oluşturma önizlemesi, geçişli bağımlılıktan sınıfları çözemiyor
AGP 8.3, zipApksForTask'ı bozuyor
Android APK'sında paketlenmiş AndroidX Desktop yapıları
Lint
Lint test çerçevesinin GradleModelMocker'ı, kitaplık sürümünün ayarlanmasına izin vermiyor
Lint K2 UAST: UCallableReferenceExpression yanlış niteleyici türü bildiriyor
Aşırı yüklenmiş işlevlerle useK2Uast=true kullanıldığında yanlış pozitif lint hatası
[BuildTool/Lint] ChecksSdkIntAtLeast oluşturucu özelliğini kontrol eder
Lint Entegrasyonu
Lint, KMP bağımlılığını netleştiremiyor

Android Gradle eklentisi 8.4.1

Çözülen Sorunlar
Android Gradle eklentisi
JDK 21'in Java 8'i hedefleme desteğini sonlandırmasıyla ilgili uyarının engellenmesine izin verin
Dexer (D8)
java.lang.VerifyError: Verifier rejected class
Yeni sürüm R8 biçimi, karartma işleminden sonra dönüştürme hatası veriyor
Ara derlemelerde, saplar için eksiksiz küresel sentetik içerik bulunmayabilir.

Android Gradle eklentisi 8.4.2

Çözülen Sorunlar
Android Gradle eklentisi
AGP 8.4, CI'da GMD indirmelerini bozuyor gibi görünüyor