Android-Gradle-Plug-in 3.1.0 (März 2018)

Für diese Version des Android-Plug-ins ist Folgendes erforderlich:

Mindestversion Standardversio Hinweise
Gradle 4.4 4.4 Weitere Informationen finden Sie unter Gradle aktualisieren.
SDK-Build-Tools 27.0.3 27.0.3 Installieren oder Konfigurieren Sie die SDK-Build-Tools. Sie müssen keine Version für die Build-Tools mit der Eigenschaft „android.buildToolsVersion“ angeben. Das Plug-in verwendet standardmäßig die erforderliche Mindestversion.

Neuer DEX-Compiler, D8

Standardmäßig verwendet Android Studio jetzt einen neuen DEX-Compiler namens D8. Bei der DEX-Kompilierung wird .class-Bytecode in .dex-Bytecode für die Android-Laufzeit (oder Dalvik für ältere Android-Versionen) umgewandelt. Im Vergleich zum vorherigen Compiler namens DX kompiliert D8 schneller und gibt kleinere DEX-Dateien aus. Dabei ist die Laufzeitleistung der App gleich oder besser.

D8 sollte Ihren alltäglichen App-Entwicklungs-Workflow nicht ändern. Sollten Sie jedoch Probleme mit dem neuen Compiler haben, melden Sie bitte einen Fehler. Sie können D8 vorübergehend deaktivieren und DX verwenden, indem Sie Folgendes in die Datei gradle.properties Ihres Projekts einfügen:

      android.enableD8=false
    

Für Projekte, die Java 8-Sprachfunktionen verwenden, ist das inkrementelle Desugaring standardmäßig aktiviert. Sie können sie deaktivieren, indem Sie Folgendes in der gradle.properties-Datei Ihres Projekts angeben:

      android.enableIncrementalDesugaring=false.
    

Vorschauversionen:Wenn Sie bereits eine Vorschauversion von D8 verwenden, beachten Sie, dass sie jetzt für Bibliotheken kompiliert wird, die in den SDK-Build-Tools enthalten sind, nicht im JDK. Wenn Sie also auf APIs zugreifen, die im JDK, aber nicht in den Bibliotheken der SDK-Build-Tools vorhanden sind, erhalten Sie einen Kompilierungsfehler.

Geändertes Verhalten

  • Wenn Sie mehrere APKs erstellen, die jeweils auf eine andere ABI ausgerichtet sind, werden mit nicht mehr standardmäßig APKs für die folgenden ABIs generiert: mips, mips64 und armeabi.

    Wenn Sie APKs erstellen möchten, die auf diese ABIs ausgerichtet sind, müssen Sie NDK r16b oder niedriger verwenden und die ABIs in Ihrer Datei build.gradle angeben, wie unten gezeigt:

              splits {
                  abi {
                      include 'armeabi', 'mips', 'mips64'
                      ...
                  }
              }
            
              splits {
                  abi {
                      include("armeabi", "mips", "mips64")
                      ...
                  }
              }
            
  • Im Build-Cache des Android-Plug-ins werden jetzt Cache-Einträge entfernt, die älter als 30 Tage sind.

  • Wenn Sie "auto" an resConfig übergeben, werden keine String-Ressourcen mehr automatisch für die Aufnahme in Ihr APK ausgewählt. Wenn Sie "auto" weiterhin verwenden, packt das Plug-in alle String-Ressourcen, die Ihre App und ihre Abhängigkeiten bereitstellen. Stattdessen sollten Sie jede Sprache angeben, die das Plug-in in Ihr APK packen soll.

  • Da lokale Module nicht vom Test-APK Ihrer App abhängen können, wird durch das Hinzufügen von Abhängigkeiten zu Ihren instrumentierten Tests mit der Konfiguration androidTestApi anstelle von androidTestImplementation in Gradle die folgende Warnung ausgegeben:

            WARNING: Configuration 'androidTestApi' is obsolete
            and has been replaced with 'androidTestImplementation'
            
            WARNING: Configuration 'androidTestApi' is obsolete
            and has been replaced with 'androidTestImplementation'
            

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem Android Studio Abhängigkeiten in zusammengesetzten Builds nicht richtig erkennt.
  • Es wurde ein Problem behoben, bei dem beim Laden des Android-Plug-ins mehrmals in einem einzelnen Build ein Projektsynchronisierungsfehler auftrat, z. B. wenn mehrere Unterprojekte das Android-Plug-in jeweils in ihrem Buildscript-Classpath enthalten.