Android-Plug-in für Gradle, Revision 1.5.0 (November 2015)

Abhängigkeiten:
Mindestversion Standardversion Hinweise
Gradle 2.2.1 2.2.1 Weitere Informationen findest du unter Gradle aktualisieren.
SDK-Build-Tools 21.1.1 21.1.1 Installiere oder konfiguriere die SDK-Build-Tools.
Allgemeine Hinweise:
  • Das Data Binding-Plug-in wurde in das Android-Plug-in für Gradle integriert. Fügen Sie den folgenden Code in jede build.gradle-Datei pro Projekt ein, in der das Plug-in verwendet wird, um es zu aktivieren:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Eine neue Transform API wurde hinzugefügt, mit der Drittanbieter-Plug-ins kompilierte .class-Dateien bearbeiten können, bevor sie in .dex-Dateien konvertiert werden. Die Transform API vereinfacht das Einfügen benutzerdefinierter Klassenmanipulationen und bietet mehr Flexibilität bei den Manipulationsmöglichkeiten. Wenn Sie eine Transformation in einen Build einfügen möchten, erstellen Sie eine neue Klasse, die eine der Transform-Schnittstellen implementiert, und registrieren Sie sie mit android.registerTransform(theTransform) oder android.registerTransform(theTransform, dependencies). Aufgaben müssen nicht miteinander verknüpft werden. Beachten Sie Folgendes zur Transform API:
    • Eine Transformation kann auf eines oder mehrere der folgenden Elemente angewendet werden: das aktuelle Projekt, Unterprojekte und externe Bibliotheken.
    • Eine Transformation muss global registriert werden, damit sie auf alle Varianten angewendet wird.
    • Die interne Codeverarbeitung über die Java Code Coverage Library (JaCoCo), ProGuard und MultiDex erfolgt jetzt über die Transform API. Das Java Android Compiler Kit (Jack) verwendet diese API jedoch nicht, sondern nur der Codepfad javac/dx.
    • Gradle führt die Transformationen in dieser Reihenfolge aus: JaCoCo, Drittanbieter-Plug-ins, ProGuard. Die Ausführungsreihenfolge für Drittanbieter-Plug-ins entspricht der Reihenfolge, in der die Transformationen von den Drittanbieter-Plug-ins hinzugefügt werden. Entwickler von Drittanbieter-Plug-ins können die Ausführungsreihenfolge der Transformationen nicht über eine API steuern.
  • Der Getter dex wurde aus der Klasse ApplicationVariant entfernt. Sie können nicht mehr über die Variant-API auf die Aufgabe Dex zugreifen, da sie jetzt über eine Transformation ausgeführt wird. Derzeit gibt es keine Möglichkeit, den DEX-Prozess zu steuern.
  • Unterstützung für inkrementelle Assets wurde korrigiert.
  • Verbesserte MultiDex-Unterstützung durch Verfügbarkeit für Testprojekte und automatische com.android.support:multidex-instrumentation-Abhängigkeit für Tests.
  • Es wurde die Möglichkeit hinzugefügt, einen Gradle-Build ordnungsgemäß fehlschlagen zu lassen und die zugrunde liegende Fehlerursache zu melden, wenn beim Gradle-Build asynchrone Aufgaben aufgerufen werden und im Worker-Prozess ein Fehler auftritt.
  • Unterstützung für die Konfiguration einer bestimmten Application Binary Interface (ABI) in Varianten mit mehreren ABIs wurde hinzugefügt.
  • Es wurde Unterstützung für eine kommagetrennte Liste von Geräteseriennummern für die Umgebungsvariable ANDROID_SERIAL beim Installieren oder Ausführen von Tests hinzugefügt.
  • Ein Installationsfehler auf Geräten mit Android 5.0 (API-Level 20) und höher wurde behoben, wenn der APK-Name ein Leerzeichen enthält.
  • Verschiedene Probleme mit der Fehlerausgabe des Android Asset Packaging Tool (AAPT) wurden behoben.
  • Unterstützung für die inkrementelle JaCoCo-Instrumentierung für schnellere inkrementelle Builds wurde hinzugefügt. Das Android-Plug-in für Gradle ruft jetzt das JaCoCo-Instrumentierungstool direkt auf. Wenn Sie eine neuere Version des JaCoCo-Instrumentierungstools erzwingen möchten, müssen Sie es als Build-Skript-Abhängigkeit hinzufügen.
  • Die JaCoCo-Unterstützung wurde korrigiert, sodass Dateien, die keine Klassen sind, ignoriert werden.
  • Unterstützung für Vektordrawables wurde hinzugefügt, um PNGs zur Build-Zeit für die Abwärtskompatibilität zu generieren. Das Android-Plug-in für Gradle generiert PNGs für jede Vektordrawable, die in einem Ressourcenverzeichnis gefunden wird, in dem keine API-Version angegeben ist oder in dem im <uses-sdk>-Element im App-Manifest ein android:minSdkVersion-Attribut von 20 oder niedriger angegeben ist. Sie können PNG-Dichten festlegen, indem Sie die generatedDensities-Eigenschaft in den Abschnitten defaultConfig oder productFlavor einer build.gradle-Datei verwenden.
  • Die Freigabe des simulierbaren android.jar wurde hinzugefügt, das vom Plug‑in nur einmal generiert und für Unittests verwendet wird. Mehrere Module, z. B. app und lib, verwenden sie jetzt gemeinsam. Löschen Sie $rootDir/build, um sie neu zu generieren.
  • Die Verarbeitung von Java-Ressourcen erfolgt jetzt vor den Verschleierungsaufgaben und nicht mehr während der Paketierung der APK. Durch diese Änderung können die Verschleierungsaufgaben die Java-Ressourcen nach der Paketverschleierung anpassen.
  • Ein Problem mit der Verwendung von Java Native Interface-Code (JNI) im experimentellen Bibliotheks-Plug-in wurde behoben.
  • Es wurde die Möglichkeit hinzugefügt, die Plattformversion unabhängig vom android:compileSdkVersion-Attribut im experimentellen Bibliotheks-Plug-in festzulegen.