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 estendeCommandLineArgumentProvider
, 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 filegradle.properties
:-
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 sufalse
per 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 sufalse
per impostazione predefinita. Puoi impostare questo flag sutrue
solo seandroid.useAndroidX
è impostato anche sutrue
, 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 filebuild.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
- JavaCompile ora può essere memorizzato nella cache nei progetti con data binding. (Problema n. 69243050)
- Migliore evitamento della compilazione per i moduli della libreria con data binding. (Problema n. 77539932)
- Ora puoi riattivare configure-on-demand se l'hai disattivato nelle versioni precedenti a causa di alcuni errori di build imprevedibili. (Problema n. 77910727)