In den letzten Tagen habe ich versucht, die Bauzeit für unser Projekt ohne Glück zu verbessern. Es macht mir nichts aus, 1m40s auf einen sauberen Build warten zu müssen, aber wenn ich eine Zeile in eine einzelne Java-Datei einfüge, bekomme ich dieselbe Build-Zeit wie in einem sauberen Build. Ich muss etwas falsch machen, aber ich kann einfach keine Dokumentation oder Stack-Overflow-Frage finden, die mich in die richtige Richtung weist. Es ist mir gelungen, eine Reihe von Informationen zu sammeln, die ich hier zentralisieren werde, in der Hoffnung, dass jemand mit einem besseren Verständnis des Themas mir erklärt, warum ich diese abgrundtiefen Bauzeiten bekomme.Android Studio - Gradel inkrementeller Build
Hier geht es:
Ich verstehe, dass diese Option in meiner build.gradle Datei ist das, was ich suche.
android { dexOptions { incremental true } ...
Glorious inkrementeller Build. Dies funktioniert jedoch anscheinend nicht für mich, da mein Projekt die Multidex-Funktion für die Retrokompatibilität mit Android-Versionen vor Lollipop verwendet.
Proguard zur Rettung! Mit Proguard kann ich meine ausführbare Datei minimieren und alle unbenutzten Methoden entfernen. Ich habe mit proguard minify ein paar Fehler bekommen, aber ich konnte es richtig einstellen und es funktioniert. Groß! Dex-Generation dauert etwa 20 für jeden Build. Leider ist nichts umsonst, und die Progrard-Graples-Aufgabe dauert ungefähr 2m50s. Noch schlimmer als mein erster Fall.
Gibt es eine Lösung für dieses Problem?
Ist die Aktivierung von 'offline arbeiten' in Global Gradle Einstellungen hilfreich? – nhaarman
Leider nein. Die Aufgabe, die in meinem Build-Prozess wirklich zeitaufwendig ist, ist die dex-Generierung. Das Abrufen der Abhängigkeiten ist eigentlich ziemlich schnell. –