Plug-in Android per Gradle, revisione 1.5.0 (novembre 2015)
- Dipendenze:
- Note generali:
-
- È stato integrato il plug-in Data Binding nel plug-in Android per Gradle. Per attivarlo, aggiungi
il seguente codice a ogni file
build.gradle
per progetto che utilizza il plugin: - È stata aggiunta una nuova API Transform
per consentire ai plug-in di terze parti di manipolare i file
.class
compilati prima che vengano convertiti in file.dex
. L'API Transform semplifica l'inserimento di manipolazione delle classi personalizzate, offrendo al contempo una maggiore flessibilità in termini di ciò che puoi manipolare. Per inserire una trasformazione in una build, crea una nuova classe che implementi una delle interfacceTransform
e registrala conandroid.registerTransform(theTransform)
oandroid.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.
- È necessario registrare una trasformazione a livello globale, che la applichi a tutte le varianti.
- L'elaborazione del codice interno, tramite la Java Code Coverage Library (JaCoCo), ProGuard e MultiDex, ora utilizza l'API Transform. Tuttavia, il Java Android Compiler Kit
(Jack) non utilizza questa API: solo il percorso di codice
javac/dx
lo fa. - 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.
- È stato ritirato il getter
dex
dalla classeApplicationVariant
. Non puoi più accedere all'attivitàDex
tramite l'API Variant perché ora viene eseguita tramite una trasformazione. Al momento non esiste un'alternativa per controllare il processo dex. - È stato corretto il supporto incrementale degli asset.
- È stato migliorato il supporto di MultiDex rendendolo disponibile per i progetti di test e ora i test hanno automaticamente la dipendenza
com.android.support:multidex-instrumentation
. - È stata aggiunta la possibilità di interrompere correttamente una compilazione Gradle e di segnalare la causa di errore di fondo quando la compilazione Gradle richiama attività asincrone e si verifica un errore nel processo del worker.
- È stato aggiunto il supporto per la configurazione di un'ABI (Application Binary Interface) specifica nelle varianti che contengono più ABI.
- È stato aggiunto il supporto per un elenco di numeri di serie del dispositivo separati da virgola per la variabile di ambiente
ANDROID_SERIAL
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 risolti vari problemi relativi all'output di errore di Android Asset Packaging Tool (AAPT).
- È stato aggiunto il supporto dell'instrumentazione incrementale JaCoCo per build incrementali più veloci. Il plug-in Android per Gradle ora invoca direttamente lo strumento di misurazione JaCoCo. Per forzare una versione più recente dell'instrumentatore JaCoCo, devi aggiungerla come dipendenza dello script di compilazione.
- È stato corretto il supporto di JaCoCo in modo che ignori i file che non sono classi.
- È stato aggiunto il supporto di drawable vettoriali per la generazione di file PNG in fase di compilazione per la compatibilità con le versioni precedenti.
Il plug-in Android per Gradle genera file PNG per ogni drawable vettoriale trovato in una directory di risorse che non specifica una versione dell'API o specifica un attributo
android:minSdkVersion
pari o inferiore a 20 nell'elemento<uses-sdk>
nel file manifest dell'app. Puoi impostare le densità PNG utilizzando la proprietàgeneratedDensities
nelle sezionidefaultConfig
oproductFlavor
di un filebuild.gradle
. - È stata aggiunta la condivisione di
android.jar
simulabile, che il plug-in genera solo una volta e utilizza per i test di unità. Ora sono disponibili più moduli, comeapp
elib
. Elimina$rootDir/build
per rigenerarlo. - È stata modificata l'elaborazione delle risorse Java in modo che venga eseguita prima delle attività di offuscamento anziché durante il packaging dell'APK. Questa modifica consente alle attività di offuscamento di avere la possibilità di adattare le risorse Java dopo l'offuscamento dei pacchetti.
- È stato risolto un problema relativo all'utilizzo del codice JNI (Java Native Interface) nel plug-in della libreria sperimentale.
- È stata aggiunta la possibilità di impostare la versione della piattaforma separatamente dall'attributo
android:compileSdkVersion
nel plug-in della raccolta sperimentale.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- È stato integrato il plug-in Data Binding nel plug-in Android per Gradle. Per attivarlo, aggiungi
il seguente codice a ogni file
Versione minima | Versione predefinita | Note | |
---|---|---|---|
Gradle | 2.2.1 | 2.2.1 | Per scoprire di più, consulta la sezione Aggiornare Gradle. |
Strumenti di compilazione SDK | 21.1.1 | 21.1.1 | Installa o configura gli strumenti di compilazione dell'SDK. |