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 scoprire di più, consulta la sezione Aggiornare Gradle.
Strumenti di compilazione SDK 27.0.3 27.0.3 Installa o configura gli strumenti di creazione dell'SDK. Tieni presente che non è più necessario specificare una versione per gli strumenti di compilazione 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 bytecode .dex 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, mantenendo le stesse prestazioni di runtime dell'app o migliori.

D8 non dovrebbe modificare il flusso di lavoro di sviluppo delle app quotidiano. Tuttavia, se riscontri problemi relativi al nuovo compilatore, segnala 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 è abilitato per impostazione predefinita. Puoi disattivarla specificando quanto segue nel file gradle.properties del progetto:

      android.enableIncrementalDesugaring=false.
    

Utenti di anteprima:se utilizzi già una versione di anteprima di D8, tieni presente che ora la compilazione viene eseguita in base alle librerie incluse negli strumenti di compilazione dell'SDK, non nella JDK. Pertanto, se accedi ad API esistenti in JDK, ma non nelle librerie degli strumenti di compilazione dell'SDK, ricevi un errore di compilazione.

Modifiche al comportamento

  • Quando crei più APK, ognuno dei quali ha come target un'ABI diversa, non genera più APK per le seguenti ABI per impostazione predefinita: mips, mips64 e armeabi.

    Se vuoi creare APK che hanno come target queste ABI, devi utilizzare NDK r16b o versioni precedenti e specificare le 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" a resConfig non seleziona più automaticamente le risorse stringa da includere nel tuo APK. Se continui a utilizzare "auto", il plug-in pacchettizza tutte le risorse stringa fornite dalla tua app e dalle relative dipendenze. Pertanto, devi specificare ogni impostazione regionale che vuoi che il plug-in includa nel tuo APK.

  • Poiché i moduli locali non possono dipendere dall'APK di test della tua app, l'aggiunta di dipendenze ai test strumentati utilizzando la configurazione androidTestApi, anziché androidTestImplementation, fa sì che Gradle emetta 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

  • Corregge un problema per cui Android Studio non riconosce correttamente le dipendenze nelle build composite.
  • Risolve un problema per cui si verifica un errore di sincronizzazione del progetto durante il caricamento del plug-in Android più volte in una singola build, ad esempio quando più progetti secondari includono il plug-in Android nel classpath di buildscript.