2015-05-04 15 views
42

es ist eine Weile, dass ich Android Studio verwenden, und bis jetzt war ich mit 1.0.1, Gradle war ein bisschen langsam, etwa 1,5 Minuten für assembleDebug (mein Projekt ist wirklich groß!) aber heute habe ich meine AS auf 1.2 aktualisiert und jetzt dauert der gleiche Prozess etwa 7 bis 10 Minuten, und manchmal sogar ohne Ergebnis!Android Studio 1.2 Gradle ist sehr langsam

Gibt es irgendeine Einstellung, die ich ändern muss, um es schneller zu machen? ehrlich 10 Minuten für jeden Debug-Lauf ist ein Albtraum!

Auch die meiste Zeit ist meine CPU-Auslastung rund 10 Prozent! (es ist eigentlich im Leerlauf!) Ursache vor, wenn Gradle war es war auf 100% fast die ganze Zeit

+0

Anscheinend es in 1.2.1.1 –

+0

aufgelöst wurde, wie Sie es gelöst ... plzz Aktie –

+0

@kumarkundan während Smashing‘ s Lösung, um Gradle offline zu machen ist eine gute Abhilfe, Aktualisierung auf 1.2.2 löste mein Problem –

Antwort

34

hatte das gleiche Problem.

Was ich getan habe, war, die globalen Gradle-Einstellungen in Offline-Arbeit zu ändern, die unter Einstellungen => Gradle vorgenommen werden können. Das hat einen Unterschied gemacht.

Eine andere Methode, die ich Leute benutzen gesehen haben, die ich aber noch nicht verwendet haben, ist eine gradle.properties im gradle Ordner zu erstellen, etwa so:

einfach eine Datei erstellen, in dem folgenden Verzeichnis mit dem Namen gradle.properties:

/home/<username>/.gradle/ (Linux) 
/Users/<username>/.gradle/ (Mac) 
C:\Users\<username>\.gradle (Windows) 

diese Zeile in der Datei hinzufügen:

org.gradle.daemon=true 

Bitte beachten Sie auch this Link für weitere Optionen sowie eine detaillierte Erklärung zur Beschleunigung von Großbuchstaben.

Hoffe, das hilft !.

+2

einige, wie im Laufe der Zeit es besser wurde, aber ich denke, es könnte die Wirkung sein, es offline zu machen, seit AS immer Daemon standardmäßig verwendet –

+1

Dieses Problem noch passierte mit Gradle 1.5.0. Und in der Tat, die Offline-Installation von Gradle hat die Kompilierzeit beschleunigt. Vielen Dank! – Alexey

+1

Hat nicht geholfen ... –

0

Der Grund multiDex,

wiederum multiDexEnabled zu falsch in Ihrer build.gradle Datei sein könnte (für Debug nur, es für die Freigabe halten).

android { 
... 
    defaultConfig { 
     ... 
     multiDexEnabled false 
     ... 
    } 
} 

Darüber hinaus sollten Sie die neueste Version (2.4 im Moment) zu verwenden, indem Sie die gradle-wrapper.properties Datei und legen gradle- 2.4 -all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 

Was ist MultiDex: https://developer.android.com/tools/building/multidex.html

+0

Gibt es eine andere Option zu MultiDex, falls Sie es brauchen? Ich denke nicht, dass Apps standardmäßig multiplexed sind und das Setzen von multiDexEnabled false würde einen großen Unterschied machen. – Jalpesh

+2

Ausschalten von Multidex schaltet Funktionen aus, nicht schneller. Es gibt Projekte, die größer sind, die Multidex erfordern würden, also ist dies nicht hilfreich. –

+0

siehe meine Antwort keine Notwendigkeit, dies zu tun – Ankit

-5

Von den Einstellungen gehen Sie zur HTTP-Verbindung und deaktivieren Sie alle Proxy und Sie finden die gewünschte Geschwindigkeit

1

komplette Antwort für dieses Problem ist wie folgt:

  • Upgrade-Android-Studio auf der Version 1.3 (stable) oder über 1,4 (Beta zum Zeitpunkt des Schreibens dieser).
  • Upgrade Gradle auf 1.3. + (+ Kann durch eine positive Zahl ersetzt werden) Ändern Sie es in Ihrer build.gradle Datei.
  • ändern Sie Ihre gradle-wrapper.properties Dateien und fügen Sie distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip in letzter (Sie können alle alten Eintrag entfernen).
  • Gehen Sie zu Preference ->Gradle und stellen Sie es offline arbeiten.

woila !!! Ich kann den Code in weniger als ~ 5 sec (ich meine es wirklich)

12

Ich teste meine app mit Google+ anmelden, um kompilieren und ausführen. So habe ich Release Debug-Version zu unterzeichnen. App kompiliert in ~ 26 Sekunden.

build.gradleModul:App Datei

signingConfigs { 
    debug { 
     storeFile file(project.property("MyApp.signing")) 
     storePassword project.property("MyApp.signing.password") 
     keyAlias project.property("MyApp.signing.alias") 
     keyPassword project.property("MyApp.signing.password") 
    } 
} 

, wenn ich die ~ 7,5 Sekunden entfernen.

nächstes testete ich offline Grade

Datei - Einstellungen - Erstellen, Ausführen ... - Werkzeuge bauen - Gradle -Offline-Arbeit

enter image description here

Nun meine app kompilieren in ~ 4,5 Sekunden.

Natürlich habe ich auch wiederum auf hinzugefügt - Kompilieren unabhängige Module parallel (können größere Heap-Größe benötigen) - Machen Projekt automatisch (funktioniert nur, während nicht aktiv/Debugging)

Datei - Einstellungen - Erstellen, Ausführung ... - Compiler

enter image description here