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 scoprire di più, consulta la sezione Aggiornare Gradle.
Strumenti di compilazione SDK 28.0.3 28.0.3 Installa o configura gli strumenti di creazione dell'SDK.

3.2.1 (ottobre 2018)

Con questo aggiornamento, non è più necessario specificare una versione per gli strumenti di build dell'SDK. 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 della tua app, mentre rimanda la generazione e la firma degli APK 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 Informazioni sugli Android App Bundle.

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

  • Strumento di migrazione per AndroidX:quando utilizzi Android Gradle Plugin 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:

    • 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 è impostato anche su true, altrimenti si verifica un errore di build.

      Per scoprire 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 al comportamento

  • La rimozione dello zucchero sintattico con D8 è ora abilitata per impostazione predefinita.

  • AAPT2 è ora disponibile 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 è 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 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 impone 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 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 delle funzionalità dinamiche.

Correzioni di bug