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 scoprire di più, consulta la sezione Aggiornare Gradle.
Strumenti di compilazione SDK 21.1.1 21.1.1 Installa o configura gli strumenti di creazione dell'SDK.
Note generali:
  • È stato integrato il plug-in Data Binding nel plug-in Android per Gradle. Per abilitarlo, 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 che vengano convertiti 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 interfacce Transform e registrala con android.registerTransform(theTransform) o android.registerTransform(theTransform, dependencies). Non è necessario collegare le attività. Tieni presente quanto segue in merito all'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 la applica a tutte le varianti.
    • L'elaborazione del codice interno, 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 nel seguente 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 classe ApplicationVariant. Non puoi più accedere all'attività Dex tramite l'API Variant perché ora viene eseguita tramite una trasformazione. Al momento non esiste un sostituto per il controllo del processo dex.
  • Supporto incrementale fisso per gli asset.
  • Supporto MultiDex migliorato rendendolo disponibile per i progetti di test e i test ora hanno automaticamente la dipendenza com.android.support:multidex-instrumentation.
  • È 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 worker.
  • È stato aggiunto il supporto per la configurazione di un'ABI (Application Binary Interface) specifica nelle varianti che contengono più ABI.
  • Aggiunto il supporto per un elenco separato da virgole di numeri di serie dei dispositivi 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.
  • Risolti vari problemi relativi all'output di errore di Android Asset Packaging Tool (AAPT).
  • Aggiunto il supporto dell'instrumentazione incrementale 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 aggiungerlo come dipendenza dello script di build.
  • È stato corretto il supporto di JaCoCo in modo che ignori i file che non sono classi.
  • Aggiunto il supporto dei disegni vettoriali per la generazione di PNG in fase di compilazione per la compatibilità con le versioni precedenti. Il plug-in Android per Gradle genera PNG per ogni risorsa grafica vettoriale trovata 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 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 una sola volta e utilizza per i test unitari. Ora lo condividono più moduli, ad esempio app e lib. Elimina $rootDir/build per rigenerarlo.
  • È stata modificata l'elaborazione delle risorse Java in modo che avvenga 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 Java Native Interface (JNI) 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 libreria sperimentale.