Android Gradle Plugin 2.2.0 (Eylül 2016)

Bağımlılıklar:
Minimum sürüm Varsayılan sürüm Notlar
Gradle 2.14.1 2.14.1 Daha fazla bilgi edinmek için Gradle'ı güncelleme sayfasına göz atın.
SDK Derleme Araçları 23.0.2 23.0.2 SDK Derleme Araçları'nı yükleyin veya yapılandırın.
Yeni:
  • Performans iyileştirmeleri içeren Gradle 2.14.1'i kullanır ve kötü amaçlı yazılım bulaşması ya da yerel ayrıcalık artırma sisteminden yararlanabilirsiniz. Daha fazla daha fazla bilgi için Gradle sürüm notları.
  • externalNativeBuild {} DSL, Gradle artık şunları yapmanıza olanak tanır: bağlayıp yerel kitaplıkları derleyin CMake veya ndk-build. Yerel kitaplıklarınızı oluşturduktan sonra Gradle bunları APK'nıza paketler. CMake ve kullanma hakkında daha fazla bilgi edinmek için ndk-build with Gradle ile şunu okuyun: Add C ve C++ Code to Your Proje.
  • Bir komut satırından derlerseniz Gradle artık otomatik projenizin bağlı olduğu eksik SDK bileşenleri veya güncellemeleri. Daha fazla bilgi için Otomatik indirme Gradle'daki eksik paketlerle ilgili daha fazla bilgi edinin.
  • Yeni deneysel önbelleğe alma özelliği sayesinde Gradle, derleme işlemini hızlandırıyor dizinlenmiş sürümlerini önceden dizine ekleyerek, depolayarak ve yeniden kullanarak emin olmanız gerekir. Bu deneysel özelliği kullanma hakkında daha fazla bilgi edinmek için Derlemeyi Önbellek kılavuzu.
  • Yeni bir varsayılan paketleme benimseyerek derleme performansını iyileştirir tek görevde sıkıştırma, imzalama ve zipaligning işlemlerini gerçekleştiren ardışık düzen. Siz eski paketleme araçlarını tekrar kullanmaya başlamak için android.useOldPackaging=true - gradle.properties dosya Yeni paketi kullanırken araç, zipalignDebug görevi kullanılamaz. Ancak, createZipAlignTask(String taskName, File inputFile, File outputFile) yöntemini çağırın.
  • APK imzalama artık APK İmza Şeması'nı kullanıyor v2'yi kullanmanızı öneririz. Tüm Android platformları şu şartları kabul eder: APK'lar oluşturabilirsiniz. İmzalamadan sonra bu APK'larda yapılacak herhangi bir değişiklik, APK'ların v2 imzalarını taşır ve cihazda yüklemeyi engeller. Bu özelliği devre dışı bırakmak için: modül düzeyindeki build.gradle dosyanıza şunu ekleyin:

    Eski

    android {
      ...
      signingConfigs {
        config {
          ...
          v2SigningEnabled false
        }
      }
    }
          

    Kotlin

    android {
      ...
      signingConfigs {
        create("config") {
          ...
          v2SigningEnabled = false
        }
      }
    }
          
  • Multidex derlemelerinde, istediğiniz zaman hangi Gradle sınıfları uygulamanızın ana DEX dosyasında derlenmelidir. Çünkü Android sistemi uygulamanızı başlatırken ilk olarak ana DEX dosyasını yükler. ana DEX'te derleyerek başlangıçta belirli sınıfları önceliklendirebilir dosyası olarak kaydedebilirsiniz. Özel olarak bir ProGuard yapılandırma dosyası oluşturduktan sonra ana DEX dosyasını kullanarak yapılandırma dosyasının yolunu buildTypes.multiDexKeepProguard Bu DSL farklı bir şekilde kullanılıyor kullanılmasını engeller Genel ProGuard sağlayan buildTypes.proguardFiles kuralları belirlemeniz ve ana DEX dosyası için sınıf belirtmemesi gerekir.
  • android:extractNativeLibs işareti için destek ekler, Bu nedenle, uygulamanızı bir bilgisayara yüklediğinizde boyutunu olanak tanır. Bu işareti false olarak <application> öğesi oluşturun. Sıkıştırılmamış Gradle paketleri ve APK'nızla yerel kitaplıklarınızın uyumlu sürümlerini. Bu PackageManager engelleniyor APK'dan cihazın kendi kitaplığına yerel kitaplıklarınızı kopyalamadan yükleme sırasında dosya sistemi oluşturur. Ayrıca, delta güncellemelerinin boyutu küçültülür.
  • Artık şu değeri belirtebilirsiniz: versionNameSuffix ve applicationIdSuffix kullanın. (Sorun 59614)
Değişiklikler:
  • getDefaultProguardFile artık varsayılan ProGuard'ı döndürüyor Gradle için Android eklentisinin sağladığı ve artık vermediği dosyalar Android SDK'dakileri kullanır.
  • İyileştirilmiş Jack derleyici performansı ve özellikleri:
    • Jack artık testCoverageEnabled - true.
    • İyileştirilmiş ek açıklama işlemcileri desteği. Not sınıf yolunuzdaki işleyenler (ör. compile) özellikleri, derlemenize otomatik olarak uygulanır. Şunları yapabilirsiniz: derleme ve geçişinizde bir ek açıklama işlemcisi de belirtin bağımsız değişkenlerin önüne geçmek için javaCompileOptions.annotationProcessorOptions {} DSL modül düzeyindeki build.gradle dosyası:

      Eski

      android {
        ...
        defaultConfig {
          ...
          javaCompileOptions {
            annotationProcessorOptions {
              className 'com.example.MyProcessor'
              // Arguments are optional.
              arguments = [ foo : 'bar' ]
            }
          }
        }
      }
          

      Kotlin

      android {
        ...
        defaultConfig {
          ...
          javaCompileOptions {
            annotationProcessorOptions {
              className = "com.example.MyProcessor"
              // Arguments are optional.
              arguments(mapOf(foo to "bar"))
            }
          }
        }
      }
          

      Derleme sırasında ek açıklama işlemcisi uygulamak istiyorsanız APK'nıza dahil etmek istemiyorsanız annotationProcessor bağımlılık kapsamı:

      Eski

      dependencies {
          compile 'com.google.dagger:dagger:2.0'
          annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
         // or use buildVariantAnnotationProcessor to target a specific build variant
      }
          

      Kotlin

      dependencies {
          implementation("com.google.dagger:dagger:2.0")
          annotationProcessor("com.google.dagger:dagger-compiler:2.0")
         // or use buildVariantAnnotationProcessor to target a specific build variant
      }
          
    • Ayarlayabileceğiniz parametrelerin listesi için aşağıdaki komutu çalıştırın: komut satırından ekleyin:

      java -jar /build-tools/jack.jar --help-properties
      

    • Varsayılan olarak, Gradle arka plan programının yığın boyutu en az 1,5 ise GB, Jack artık Gradle ile aynı işlemde çalışmaktadır. arka plan yığın boyutunuz varsa, aşağıdakini gradle.properties dosyası:

      # This sets the daemon heap size to 1.5GB.
      org.gradle.jvmargs=-Xmx1536M