Android Gradle Plugin 8.1.0 (Temmuz 2023)

Android Gradle eklentisi 8.1.0, yeni ve özellikleri ve iyileştirmeleri.

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 sayfasına göz atın.
SDK Derleme Araçları 33.0.1 33.0.1 SDK Derleme Araçları'nı yükleyin veya yapılandırın.
NDK Yok 25.1.8937393. 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.

Kotlin DSL, derleme yapılandırması için varsayılan değerdir

Yeni projelerde artık derleme için varsayılan olarak Kotlin DSL (build.gradle.kts) kullanılıyor yapılandırma. Bu, Groovy DSL'den daha iyi bir düzenleme deneyimi sunar (build.gradle) söz dizimi vurgulama, kod tamamlama ve gezinme ile beyanları. Derleme için AGP 8.1 ve Kotlin DSL kullanıyorsanız en iyi deneyim için Gradle 8.1'i kullanmalısınız. Daha fazla bilgi edinmek için Kotlin DSL taşıma rehberini inceleyin.

Uygulama başına otomatik dil desteği

Android Studio Giraffe Canary 7 ve AGP 8.1.0-alpha07 sürümünden itibaren uygulamanızı uygulamaya özgü dili destekleyecek şekilde yapılandırın otomatik olarak oluşturabilirsiniz. Size dayalı olarak proje kaynaklarını yüklemek istemiyorsanız Android Gradle eklentisi LocaleConfig dosyasını oluşturur. ve nihai manifest dosyasına bir referans ekler. Böylece, manuel olarak yapın. AGP, uygulama modüllerinizin res klasörlerinde bulunan kaynakları kullanır ve kitaplık modülü bağımlılıklarını kullanarak projeye dahil edilecek yerel ayarları LocaleConfig dosya

Uygulama başına otomatik dil özelliğinin, Android çalıştıran uygulamaları desteklediğini unutmayın. 13 (API düzeyi 33) veya sonraki sürümler. Bu özelliği kullanmak için şunları ayarlamanız gerekir: compileSdkVersion - 33 yaş veya üzeri. Uygulamaya özgü dil tercihlerini yapılandırmak için Android'in önceki sürümlerinde de API'leri ve uygulama içi dil seçicileri kullanın.

Uygulama başına otomatik dil desteğini etkinleştirmek için varsayılan bir yerel ayar belirtin:

  1. Uygulama modülünün res klasöründe, resources.properties.
  2. resources.properties dosyasında varsayılan yerel ayarı unqualifiedResLocale etiketi. Yerel ayar adlarını oluşturmak için dil kodunu, isteğe bağlı alfabe ve bölge kodlarıyla birlikte kullanarak her birini tireyle:

    Örneğin, varsayılan yerel ayarınız Amerikan İngilizcesi ise:

        unqualifiedResLocale=en-US
        

AGP, bu varsayılan yerel ayarı ve alternatif yerel ayarlar res klasöründeki values-* dizinlerini kullanarak belirttiğiniz LocaleConfig dosyası otomatik olarak oluşturuldu.

Uygulamaya özgü otomatik dil desteği varsayılan olarak kapalıdır. Özelliği etkinleştirmek için androidResources {} bloğunda generateLocaleConfig ayarını kullanın modül düzeyinde build.gradle.kts dosyası (kullanıyorsanız build.gradle dosyası kullanıyorsanız) Groovy):

Kotlin

android {
  androidResources {
    generateLocaleConfig = true
  }
}

Eski

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'yi hedefleyen bayt kodu içerir. 17. Özel lint kontrolleri yazıyorsanız JDK 17 veya sonraki bir sürümle derlemeniz gerekir. ve Kotlin derleyici seçeneklerinizde jvmTarget = '17' değerini belirtin.

Hata analizi aracı hakkında daha fazla bilgi edinmek için Kodunuzu lint kontrolleriyle iyileştirin.

Yerel kitaplık sıkıştırma ayarı DSL'ye taşındı

AGP 8.1.0-alpha10 sürümünden itibaren yapılandırma yapmazsanız bir uyarı alacaksınız manifest yerine DSL kullanarak yerel kitaplık sıkıştırmanızı sağlar. İlgili içeriği oluşturmak için kullanılan aşağıdaki kılavuzda, DSL'yi kullanacak şekilde yapılandırmanızı nasıl güncelleyebileceğiniz açıklanmaktadır. Alıcı: bu güncellemeleri yapma konusunda yardım almak için AGP Yükseltme Asistanını kullanın (Araçlar > AGP Yükseltme Asistanı).

Sıkıştırılmamış yerel kitaplıkları kullanmak için android::extractNativeLibs uzantısını kaldırın özelliğini manifest'ten çıkarıp aşağıdaki kodu modül düzeyine ekleyin: build.gradle.kts dosyası (Groovy kullanıyorsanız build.gradle dosya):

Kotlin

android {
  packagingOptions {
    jniLibs {
      useLegacyPackaging = false
    }
  }
}

Eski

android {
  packagingOptions {
    jniLibs {
      useLegacyPackaging false
    }
  }
}

Deneysel derleme işaretleri

Bunlar, AGP 8.1'de derlemenizi yapılandırmaya yönelik deneysel işaretlerdir.

İşaretle Eklendiği yer Varsayılan değer Notlar
android.experimental.useDefaultDebugSigningConfigForProfileableBuildtypes AGP 8.0 false Bunu imzalama yapılandırması belirtilmeden etkinleştirmek AGP'nin profili veya hata ayıklaması yapılabilir bir dosya çalıştırırken varsayılan hata ayıklama imzalama yapılandırması seçeceğiz. Bu işaret, yazarları derlemeyi teşvik etmek için varsayılan olarak devre dışıdır: özel profil imzalama yapılandırmaları beyan eder.
android.experimental.library.desugarAndroidTest AGP 8.0 false Bu işaret, kitaplık oluşturucularının oluşturulan AAR'yi etkilemeden (ör. hata analizi yoluyla) APK'ları test edebilir. Bu davranışı zaman içinde Variant API'de desteklemeyi planlıyoruz.
android.experimental.testOptions.managedDevices.customDevice AGP 8.0 false Gradle Yönetilen Cihazlar, etkinleştirilirse kullanıcı tanımlı özel cihazlara izin verir türünden emin olun. Aşağıdaki durumlarda bu işaretin etkinleştirilmiş olması gerekir: Firebase Test Lab eklentisini kullanmak istiyorsunuz.
android.lint.printStackTrace AGP 8.0 false Etkinleştirildiğinde, Android lint, kilitlenmesi durumunda bir yığın izleme (stack trace) yazdırır. Bu işaret LINT_PRINT_STACKTRACE ile aynı özelliklere sahiptir ortam değişkeni
android.experimental.testOptions.managedDevices.maxConcurrentDevices AGP 8.0 Yok Gradle Tarafından Yönetilen Cihazların maksimum sayısını belirtir (AVD) herhangi bir zamanda etkin olmalıdır. Değer 0 veya negatif olursa maksimum cihaz sayısı yoktur.
android.experimental.testOptions.installApkTimeout AGP 8.0 Yok Bir APK'yı yüklemek için saniye cinsinden zaman aşımı süresi. Değer 0 ise veya negatif olursa UTP tarafından varsayılan bir değere ayarlanır.