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 compilazione dell'SDK.
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:
  • 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 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 interfacce Transform 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.
    • È 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 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'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 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 di unità. Ora sono disponibili più moduli, come app e lib. 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.