Plug-in Android per Gradle 3.1.0 (marzo 2018)
Questa versione del plug-in Android richiede quanto segue:
| Versione minima | Versione predefinita | Note | |
|---|---|---|---|
| Gradle | 4.4 | 4.4 | Per saperne di più, consulta la sezione Aggiornare Gradle. |
| Strumenti di build dell'SDK | 27.0.3 | 27.0.3 | Installa o configura gli strumenti di build dell'SDK. Tieni presente che non è più necessario specificare una versione per gli strumenti di build utilizzando la proprietà android.buildToolsVersion: il plug-in utilizza la versione minima richiesta per impostazione predefinita. |
Nuovo compilatore DEX, D8
Per impostazione predefinita, Android Studio ora utilizza un nuovo compilatore DEX chiamato D8. La compilazione DEX
è il processo di trasformazione del bytecode .class in
.dex bytecode per Android Runtime (o Dalvik, per le versioni precedenti
di Android). Rispetto al compilatore precedente, chiamato DX, D8
compila più velocemente e genera file DEX più piccoli, pur mantenendo le stesse o
migliori prestazioni di runtime dell'app.
D8 non dovrebbe modificare il flusso di lavoro di sviluppo quotidiano dell'app. Tuttavia, se
riscontri problemi relativi al nuovo compilatore, ti preghiamo di
segnalare un bug. Puoi disattivare temporaneamente
D8 e utilizzare DX includendo quanto segue nel file
gradle.properties del progetto:
android.enableD8=false
Per i progetti che
utilizzano le funzionalità del linguaggio Java 8,
il desugaring incrementale è attivato per impostazione predefinita. Puoi disattivarlo specificando quanto segue nel file gradle.properties del progetto:
android.enableIncrementalDesugaring=false.
Utenti della versione di anteprima: se stai già utilizzando una versione di anteprima di D8, tieni presente che ora viene compilata in base alle librerie incluse negli strumenti di build dell'SDK, non nella JDK. Pertanto, se accedi alle API esistenti nella JDK ma non nelle librerie degli strumenti di build dell'SDK, riceverai un errore di compilazione.
Modifiche del comportamento
-
Quando crei più APK, ognuno dei quali è destinato a un ABI diverso, per impostazione predefinita non vengono più generati APK per i seguenti ABI:
mips,mips64, earmeabi.Se vuoi creare APK destinati a questi ABI, devi utilizzare NDK r16b o versioni precedenti e specificare gli ABI nel file
build.gradle, come mostrato di seguito:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
La cache di build del plug-in Android ora elimina le voci della cache più vecchie di 30 giorni.
-
Il passaggio di
"auto"aresConfignon seleziona più automaticamente le risorse stringa da inserire nel pacchetto APK. Se continui a utilizzare"auto", il plug-in inserisce nel pacchetto tutte le risorse stringa fornite dall'app e dalle relative dipendenze. Pertanto, devi invece specificare ogni localizzazione che vuoi che il plug-in inserisca nel pacchetto APK. -
Poiché i moduli locali non possono dipendere dall'APK di test dell'app, l'aggiunta di dipendenze ai test strumentati utilizzando la
androidTestApiconfigurazione, anzichéandroidTestImplementation, fa sì che Gradle generi il seguente avviso:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Correzioni
- Risolto un problema per cui Android Studio non riconosce correttamente le dipendenze nelle build composite.
- Risolto un problema per cui si verifica un errore di sincronizzazione del progetto quando carichi il plug-in Android più volte in una singola build, ad esempio quando più sottoprogetti includono il plug-in Android nel classpath di buildscript.