Plug-in Android Gradle 3.2.0 (settembre 2018)

Questa versione del plug-in Android richiede quanto segue:

3.2.1 (ottobre 2018)

Con questo aggiornamento, non è più necessario specificare una versione per SDK Build Tools. Il plug-in Android Gradle ora utilizza la versione 28.0.3 per impostazione predefinita.

Nuove funzionalità

  • Supporto per la creazione di Android App Bundle: l'app bundle è un nuovo formato di caricamento che include tutte le risorse e il codice compilato dell'app, rimandando al tempo stesso la generazione di APK e la firma sul Google Play Store. Non dovrai più creare, firmare e gestire più APK e gli utenti ricevono download più piccoli ottimizzati per il loro dispositivo. Per saperne di più, consulta Informazioni su Android App Bundle.

  • Supporto del miglioramento della velocità di build incrementale quando si utilizzano i processori di annotazioni: DSL di AnnotationProcessorOptions ora estende CommandLineArgumentProvider, che consente a te o all'autore del processore di annotazioni di annotare gli argomenti per il processore utilizzando annotazioni di tipo di proprietà di compilazione incrementale. L'utilizzo di queste annotazioni migliora la correttezza e le prestazioni delle build nitide e incrementali e memorizzate nella cache. Per scoprire di più, leggi Passare argomenti ai processori di annotazione.

  • Strumento di migrazione per AndroidX:quando utilizzi il plug-in Android Gradle 3.2.0 con Android 3.2 e versioni successive, puoi eseguire la migrazione delle dipendenze locali e Maven del progetto per utilizzare le nuove librerie AndroidX selezionando Refactoring > Migrate to AndroidX dalla barra dei menu. Se utilizzi questo strumento di migrazione, vengono impostati anche i seguenti flag su true nel file gradle.properties:

    • android.useAndroidX: se impostato su true, il plug-in Android utilizza la libreria AndroidX appropriata anziché una Support Library. Se questo flag non viene specificato, il plug-in lo imposta su false per impostazione predefinita.

    • android.enableJetifier: se impostato su true, il plug-in Android esegue automaticamente la migrazione delle librerie di terze parti esistenti per utilizzare AndroidX riscrivendo i relativi programmi binari. Se questo flag non è specificato, il plug-in lo imposta su false per impostazione predefinita. Puoi impostare questo flag su true solo mentre anche android.useAndroidX è impostato su true, altrimenti riceverai un errore di generazione.

      Per ulteriori informazioni, leggi la panoramica di AndroidX.

  • Nuovo strumento di riduzione del codice, R8: R8 è un nuovo strumento per la riduzione e l'offuscamento del codice che sostituisce ProGuard. Puoi iniziare a utilizzare la versione di anteprima di R8 includendo quanto segue nel file gradle.properties del tuo progetto:

            android.enableR8 = true
            
            android.enableR8 = true
            

Modifiche del comportamento

  • La desugaring con D8 è ora abilitata per impostazione predefinita.

  • AAPT2 è ora nel repository Maven di Google. Per utilizzare AAPT2, assicurati di avere la dipendenza google() nel file build.gradle, come mostrato di seguito:

              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
  • Il multidex nativo è ora attivo per impostazione predefinita. Le versioni precedenti di Android Studio abilitavano il multidex nativo durante il deployment della versione di debug di un'app su un dispositivo con il livello API Android 21 o versioni successive. Ora, che tu stia eseguendo il deployment su un dispositivo o creando un APK per la release, il plug-in Android Gradle abilita il multidex nativo per tutti i moduli che impostano minSdkVersion=21 o versioni successive.

  • Il plug-in ora applica una versione minima del plug-in protobuf (0.8.6), del plug-in Kotlin (1.2.50) e del plug-in Crashlytics (1.25.4).

  • Il plug-in del modulo delle funzionalità com.android.feature ora impone l'utilizzo solo di lettere, numeri e trattini bassi per specificare il nome di un modulo. Ad esempio, se il nome del modulo delle funzionalità include trattini, viene visualizzato un errore di compilazione. Questo comportamento corrisponde a quello del plug-in per le funzionalità dinamiche.

Correzioni di bug

  • Ora JavaCompile può essere inserito nella cache nei progetti con associazione di dati. (Numero 69243050)
  • Migliore prevenzione di compilazione per i moduli della libreria con associazione di dati. (Numero 77539932)
  • Ora puoi riattivare la funzionalità configure on demand se l'hai disabilitata nelle versioni precedenti a causa di alcuni errori di build imprevedibili. (Numero 77910727)