Plug-in Android per Gradle, revisione 1.5.0 (novembre 2015)

Dipendenze:
Versione minima Versione predefinita Note
Gradle 2.2.1 2.2.1 Per saperne di più, consulta la sezione Aggiornare Gradle.
Strumenti di build dell'SDK 21.1.1 21.1.1 Installa o configura gli strumenti di build dell'SDK.
Note generali:
  • Il plug-in Data Binding è stato integrato nel plug-in Android per Gradle. Per attivarlo, aggiungi il seguente codice a ogni file build.gradle per progetto che utilizza il plug-in:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • È stata aggiunta una nuova API Transform per consentire ai plug-in di terze parti di manipolare i file .class compilati prima della conversione in file .dex. L'API Transform semplifica l'inserimento di manipolazioni di classi personalizzate e offre maggiore flessibilità per quanto riguarda gli elementi che puoi manipolare. Per inserire una trasformazione in una build, crea una nuova classe che implementi una delle Transform interfacce e registrala con android.registerTransform(theTransform) o android.registerTransform(theTransform, dependencies). Non è necessario collegare le attività. Tieni presente quanto segue sull'API Transform:
    • Una trasformazione può essere applicata a uno o più dei seguenti elementi: il progetto corrente, i sottoprogetti, e le librerie esterne.
    • Una trasformazione deve essere registrata a livello globale, il che significa che viene applicata a tutte le varianti.
    • L'elaborazione interna del codice, tramite la libreria Java Code Coverage (JaCoCo), ProGuard, e MultiDex, ora utilizza l'API Transform. Tuttavia, Java Android Compiler Kit (Jack) non utilizza questa API: solo il percorso del codice javac/dx.
    • Gradle esegue le trasformazioni in questo ordine: JaCoCo, plug-in di terze parti, ProGuard. L'ordine di esecuzione dei plug-in di terze parti corrisponde all'ordine in cui le trasformazioni vengono aggiunte dai plug-in di terze parti; gli sviluppatori di plug-in di terze parti non possono controllare l'ordine di esecuzione delle trasformazioni tramite un'API.
  • Il getter dex è stato ritirato dalla classe ApplicationVariant. Non puoi più accedere all'attività Dex tramite l'API variante perché ora viene eseguita tramite una trasformazione. Al momento non esiste un sostituto per il controllo del processo dex.
  • È stato corretto il supporto incrementale per gli asset.
  • È stato migliorato il supporto MultiDex rendendolo disponibile per i progetti di test e ora i test hanno automaticamente la com.android.support:multidex-instrumentation dipendenza.
  • È stata aggiunta la possibilità di non riuscire a eseguire correttamente una build Gradle e di segnalare la causa dell'errore sottostante quando la build Gradle richiama attività asincrone e si verifica un errore nel processo di lavoro
  • È stato aggiunto il supporto per la configurazione di una specifica Application Binary Interface (ABI) nelle varianti che contengono più ABI.
  • È stato aggiunto il supporto per un elenco di numeri di serie dei dispositivi separati da virgole per la ANDROID_SERIAL variabile di ambiente durante l'installazione o l'esecuzione dei test.
  • È stato corretto un errore di installazione sui dispositivi con Android 5.0 (livello API 20) e versioni successive quando il nome dell'APK contiene uno spazio.
  • Sono stati corretti vari problemi relativi all'output degli errori di Android Asset Packaging Tool (AAPT).
  • È stato aggiunto il supporto per l'instrumentazione incrementale di JaCoCo per build incrementali più veloci. Il plug-in Android per Gradle ora richiama direttamente lo strumento di instrumentazione JaCoCo. Per forzare una versione più recente dello strumento di instrumentazione JaCoCo, devi aggiungerla come dipendenza dello script di build.
  • È stato corretto il supporto JaCoCo in modo che ignori i file che non sono classi.
  • È stato aggiunto il supporto per i drawable vettoriali per la generazione di PNG in tempo di compilazione per la compatibilità con le versioni precedenti. Il plug-in Android per Gradle genera PNG per ogni drawable vettoriale trovato in una directory delle risorse che non specifica una versione dell'API o specifica un android:minSdkVersion attributo di 20 o inferiore nell'elemento <uses-sdk> nel manifest dell'app. Puoi impostare le densità PNG utilizzando la proprietà generatedDensities nelle sezioni defaultConfig o productFlavor di un file build.gradle.
  • È stata aggiunta la condivisione di android.jar simulabile, che il plug-in genera solo una volta e utilizza per i test delle unità. Ora viene condiviso da più moduli, come app e lib. Elimina $rootDir/build per rigenerarlo.
  • L'elaborazione delle risorse Java è stata modificata in modo che avvenga prima delle attività di offuscamento anziché durante il packaging dell'APK. Questa modifica consente alle attività di offuscamento di adattare le risorse Java dopo l'offuscamento dei pacchetti.
  • È stato corretto un problema relativo all'utilizzo del codice Java Native Interface (JNI) nel plug-in della libreria sperimentale.
  • È stata aggiunta la possibilità di impostare la versione della piattaforma separatamente dall' android:compileSdkVersion attributo nel plug-in della libreria sperimentale.