Android Gradle eklentisi 8.1.0, çeşitli yeni özellikler ve iyileştirmeler içeren ana sürümdür.
Uyumluluk
Minimum sürüm | Varsayılan sürüm | Notlar | |
---|---|---|---|
Gradle | 8.0 | 8.0 | Daha fazla bilgi edinmek için Gradle'ı güncelleme konusuna bakın. |
SDK Oluşturma Araçları | 33.0.1 | 33.0.1 | SDK Derleme Araçlarını yükleyin veya yapılandırın. |
400 | Yok | 25.1.8937393 | Farklı bir NDK sürümü 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. |
Kotlin DSL, derleme yapılandırması için varsayılan seçenektir
Yeni projelerde artık derleme yapılandırması için varsayılan olarak Kotlin DSL (build.gradle.kts
) kullanılıyor. Söz dizimi vurgulama, kod tamamlama ve beyanlarda gezinme özellikleriyle Groovy DSL'ye (build.gradle
) kıyasla daha iyi bir düzenleme deneyimi sunar. Derleme yapılandırması için AGP 8.1 ve Kotlin DSL kullanıyorsanız en iyi deneyim için Gradle 8.1'i kullanmanız gerektiğini unutmayın. Daha fazla bilgi edinmek için Kotlin DSL geçiş rehberine bakın.
Uygulama başına otomatik dil desteği
Uygulamanızı, Android Studio Giraffe Canary 7 ve AGP 8.1.0-alpha07 sürümünden başlayarak uygulamaya özgü dil tercihlerini otomatik olarak destekleyecek şekilde yapılandırabilirsiniz. Android Gradle eklentisi, proje kaynaklarınıza bağlı olarak LocaleConfig
dosyasını oluşturur ve nihai manifest dosyasına bir referans ekler. Böylece bu işlemi artık manuel olarak yapmanız gerekmez. AGP, LocaleConfig
dosyasına dahil edilecek yerel ayarları belirlemek için uygulama modüllerinizin res
klasörlerindeki kaynakları ve tüm kitaplık modülü bağımlılıklarını kullanır.
Uygulamaya özgü otomatik dil özelliğinin, Android 13 (API düzeyi 33) veya sonraki sürümleri çalıştıran uygulamaları desteklediğini unutmayın. Bu özelliği kullanmak için compileSdkVersion
değerini 33 veya daha yüksek bir değere ayarlamanız gerekir. Android'in önceki sürümlerine ilişkin uygulamaya özgü dil tercihlerini yapılandırmak için yine de API'leri ve uygulama içi dil seçicileri kullanmanız gerekir.
Uygulama başına otomatik dil desteğini etkinleştirmek için varsayılan bir yerel ayar belirtin:
- Uygulama modülünün
res
klasöründeresources.properties
adlı yeni bir dosya oluşturun. resources.properties
dosyasında, varsayılan yerel ayarıunqualifiedResLocale
etiketiyle belirleyin. Yerel ad oluşturmak için dil kodunu isteğe bağlı alfabe ve bölge kodlarıyla birleştirerek her birini kısa çizgiyle ayırın:- Dil: İki veya üç harfli ISO 639-1 kodunu kullanın.
- Metin (isteğe bağlı): ISO 15924 kodunu kullanın.
- Bölge (isteğe bağlı): İki harfli ISO 3166-1-alpha-2 kodunu veya üç haneli UN_M.49 kodunu kullanın.
Örneğin, varsayılan yerel ayarınız Amerikan İngilizcesi ise:
unqualifiedResLocale=en-US
AGP, bu varsayılan yerel ayarı ve res
klasöründeki values-*
dizinlerini kullanarak belirttiğiniz tüm alternatif yerel ayarları otomatik oluşturulan LocaleConfig
dosyasına ekler.
Uygulama başına otomatik dil desteği varsayılan olarak kapalıdır. Bu özelliği açmak için modül düzeyindeki build.gradle.kts
dosyasının androidResources {}
bloğundaki generateLocaleConfig
ayarını kullanın (Groovy kullanıyorsanız build.gradle
dosyası):
Kotlin
android { androidResources { generateLocaleConfig = true } }
Modern
android { androidResources { generateLocaleConfig true } }
Android Lint, JVM 17'yi hedefleyen bayt kodu içeriyor
AGP 8.1.0-alpha04 sürümünden itibaren Android Lint, JVM 17'yi hedefleyen bayt kodu içerir. Özel lint kontrolleri yazarsanız JDK 17 veya sonraki sürümlerle derleme yapmanız ve Kotlin derleyici seçeneklerinizde jvmTarget = '17'
değerini belirtmeniz gerekir.
lint aracı hakkında daha fazla bilgi edinmek için Kodunuzu lint kontrolleriyle iyileştirme bölümüne bakın.
Yerel kitaplık sıkıştırma ayarı DSL'ye taşındı
AGP 8.1.0-alpha10 sürümünden itibaren, yerel kitaplık sıkıştırmayı manifest yerine DSL kullanarak yapılandırmazsanız bir uyarı alırsınız. Aşağıdaki kılavuzda, DSL'yi kullanmak için yapılandırmanızı nasıl güncelleyeceğiniz açıklanmaktadır. Bu güncellemeleri yaparken yardım almak için AGP Yükseltme Asistanı'nı (Araçlar > AGP Yükseltme Asistanı) kullanın.
Sıkıştırılmamış yerel kitaplıkları kullanmak için manifest dosyasından android::extractNativeLibs
özelliğini kaldırın ve modül düzeyindeki build.gradle.kts
dosyasına aşağıdaki kodu ekleyin (Groovy kullanıyorsanız build.gradle
dosyası):
Kotlin
android { packagingOptions { jniLibs { useLegacyPackaging = false } } }
Modern
android { packagingOptions { jniLibs { useLegacyPackaging false } } }
Deneysel derleme işaretleri
Bunlar, derlemenizi AGP 8.1'de kullanılabilir olacak şekilde yapılandırmak için kullanılan deneysel işaretlerdir.
İşaretle | Eklendiği yer | Varsayılan değer | Notlar |
---|---|---|---|
android.experimental.useDefaultDebugSigningConfigForProfileableBuildtypes |
AGP 8.0 | false |
İmzalama yapılandırması belirtilmeden bu özelliğin etkinleştirilmesi, profilli veya hata ayıklaması yapılabilir bir derleme çalıştırırken AGP'nin varsayılan hata ayıklama imzalama yapılandırmasını kullanmasına neden olur. Derleme yazarlarını belirli profil imzalama yapılandırmalarını bildirmeye teşvik etmek için bu işaret varsayılan olarak devre dışıdır. |
android.experimental.library.desugarAndroidTest |
AGP 8.0 | false |
Bu işaret, kitaplık oluşturucuların, oluşturulan AAR'yi etkilemeden (ör. hata analizi aracılığıyla) test APK'ları için temel kitaplık şekeri gidermeyi etkinleştirmesine olanak tanır. Gelecekte bu davranışı Variant API'de desteklemeyi planlıyoruz. |
android.experimental.testOptions.managedDevices.customDevice |
AGP 8.0 | false |
Bu ayar etkinleştirilirse Gradle Yönetilen Cihazlar, bir eklenti tarafından sağlanabilen kullanıcı tanımlı özel cihaz türüne izin verir. Firebase Test Lab eklentisini kullanmak istiyorsanız bu işareti etkinleştirmelisiniz. |
android.lint.printStackTrace |
AGP 8.0 | false |
Etkinleştirilirse Android lint, kilitlenirse bir yığın izleme yazdırır. Bu işaret, LINT_PRINT_STACKTRACE ortam değişkeniyle aynı özelliklere sahiptir. |
android.experimental.testOptions.managedDevices.maxConcurrentDevices |
AGP 8.0 | Yok | Herhangi bir zamanda etkin olacak maksimum eşzamanlı Gradle Yönetilen Cihaz (AVD) sayısını belirtir. Değer 0 veya negatifse maksimum cihaz sayısı yoktur. |
android.experimental.testOptions.installApkTimeout |
AGP 8.0 | Yok | Bir APK'nın yüklenmesi için gereken zaman aşımı süresi (saniye cinsinden). Değer 0 veya negatif ise UTP tarafından varsayılan bir değere ayarlanır. |