Plug-in Android per Gradle 3.2.0 (settembre 2018)

Questa versione del plug-in Android richiede quanto segue:

Versione minima Versione predefinita Note
Gradle 4,6 4,6 Per saperne di più, consulta la sezione Aggiornare Gradle.
Strumenti di build dell'SDK 28.0.3 28.0.3 Installa o configura gli strumenti di compilazione dell'SDK.

3.2.1 (ottobre 2018)

Con questo aggiornamento, non è più necessario specificare una versione per gli strumenti di build dell'SDK Strumenti. Il plug-in Android per 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 tutto il codice e le risorse compilati dell'app, mentre la generazione e la firma dell'APK vengono rimandate al Google Play Store. Non devi più creare, firmare e gestire più APK e gli utenti ricevono download più piccoli ottimizzati per il loro dispositivo. Per saperne di più, leggi l'articolo Informazioni sugli Android App Bundle.

  • Supporto per velocità di build incrementali migliorate quando si utilizzano i processori di annotazioni: La AnnotationProcessorOptions DSL ora estende CommandLineArgumentProvider, che consente a te o all'autore del processore di annotazioni di annotare gli argomenti per il processore utilizzando le annotazioni del tipo di proprietà di build incrementale. L'utilizzo di queste annotazioni migliora la correttezza e il rendimento delle build incrementali e delle build pulite memorizzate nella cache. Per saperne di più, leggi l'articolo Trasmettere argomenti ai processori di annotazioni.

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

    • android.useAndroidX: se impostato su true, il plug-in Android utilizza la libreria AndroidX appropriata anziché una libreria di supporto. Se questo flag non è 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 file binari. Se questo flag non è specificato, il plug-in lo imposta su false per impostazione predefinita. Puoi impostare questo flag su true solo se android.useAndroidX è anche impostato su true, altrimenti viene visualizzato un errore di build.

      Per saperne di più, 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

  • Il desugaring con D8 ora è abilitato per impostazione predefinita.

  • AAPT2 è ora disponibile nel repository Maven di Google. Per utilizzare AAPT2, assicurati di avere la google() dipendenza 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 è abilitato 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 livello API Android 21 o superiore. Ora, indipendentemente dal fatto che tu stia eseguendo il deployment su un dispositivo o creando un APK per la release, il plug-in Android per 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), 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 di sole lettere, cifre e trattini bassi quando si specifica un nome di modulo. Ad esempio, se il nome del modulo delle funzionalità include trattini, viene visualizzato un errore di build. Questo comportamento corrisponde a quello del plug-in del modulo delle funzionalità dinamiche.

Correzioni di bug