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
AnnotationProcessorOptionsDSL ora estendeCommandLineArgumentProvider, 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
truenel filegradle.propertiesfile:-
android.useAndroidX: se impostato sutrue, il plug-in Android utilizza la libreria AndroidX appropriata anziché una libreria di supporto. Se questo flag non è specificato, il plug-in lo imposta sufalseper impostazione predefinita. -
android.enableJetifier: se impostato sutrue, 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 sufalseper impostazione predefinita. Puoi impostare questo flag sutruesolo seandroid.useAndroidXè anche impostato sutrue, 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.propertiesdel 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 filebuild.gradlecome 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=21o 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
- JavaCompile ora può essere memorizzato nella cache nei progetti con associazione di dati. (Problema n. 69243050)
- Migliore evitamento della compilazione per i moduli delle librerie con associazione di dati. (Problema n. 77539932)
- Ora puoi riattivare la configurazione on demand se l'hai disattivata nelle versioni precedenti a causa di alcuni errori di build imprevedibili. (Problema n. 77910727)