Android Studio sürümünün oluşturulması çok uzun sürüyor


225

Benim Android Studio projesi daha hızlı yapı için kullanılan ama şimdi yapı için uzun zaman alır. Gecikmelere neden olabilecek herhangi bir fikir var mı? Ben https://stackoverflow.com/a/27171878/391401 denedim ama etkisi yok. Yapıları kesintiye uğratabilecek herhangi bir Anti virüsü yok. Uygulamamın boyutu da o kadar büyük değil (yaklaşık 5MB ) ve birkaç saniye içinde inşa edildi, ancak neyin değiştiğinden emin değildi.

10:03:51 Gradle build finished in 4 min 0 sec  
10:04:03 Session 'app': running  
10:10:11 Gradle build finished in 3 min 29 sec  
10:10:12 Session 'app': running  
10:20:24 Gradle build finished in 3 min 42 sec  
10:28:18 Gradle build finished in 3 min 40 sec  
10:28:19 Session 'app': running  
10:31:14 Gradle build finished in 2 min 56 sec   
10:31:14 Session 'app': running  
10:38:37 Gradle build finished in 3 min 30 sec  
10:42:17 Gradle build finished in 3 min 40 sec  
10:45:18 Gradle build finished in 3 min 1 sec  
10:48:49 Gradle build finished in 3 min 30 sec  
10:53:05 Gradle build finished in 3 min 22 sec  
10:57:10 Gradle build finished in 3 min 19 sec  
10:57:11 Session 'app': running  

1
Ne kullanıyorsunuz, android telefon veya herhangi bir emülatör uygulamanızı çalıştırmak için?
Ram Mansawala

Cihazda çalışıyor
Harish

3
neden google tutulmadan android stüdyoya geçti .... Android stüdyosu berbat
kapil

38
Android stüdyosu yeni olduğunda, StackOverflow'daki birçoğu bu konuda şikayetleri reddetti çünkü 'sadece beta bir sürüm'. Bununla birlikte, 'sadece bir beta' olduğundan bu yana birkaç yıl geçti ve hala durgun ve 8 çekirdekli, 16 gb ram ve SSD diskte. Bu makinede kurulan eski Eclipse yanıp sönme kadar hızlıdır.
Andrew S

Yanıtlar:


453

Android Studio'da Dosya -> Ayarlar -> Derleme, Yürütme, Dağıtım -> Derleme Araçları -> Dereceye Git

( mac'te varsa) Android Studio -> tercihler ... -> Derleme, Yürütme, Dağıtım -> Derleme Araçları -> Gradle

'Global Gradle ayarları' altındaki 'Çevrimdışı çalışma'yı kontrol edin

Kepçe yapım süresini% 90 azaltacaktır.

yapım süresini azaltmak için bunu kontrol edin

sınıfınıza yeni bir bağımlılık eklediyseniz, çevrimdışı çalışmanın işaretini kaldırmanız gerekir veya sınıflandırma bağımlılıkları çözemez. Tamamen çözüldükten sonra, daha hızlı bir yapı için çevrimdışı çalışmayı kontrol edebilirsiniz


11
Harika çalıştı. 12 dakika ile 5 saniye arasında
Ramesh

18
Bu yapılandırma, build.gradle dosyasına eklediğimizde yeni kütüphaneleri getirmeyi durdurmaz mı?
Dany Y

48
yeni bir kütüphane eklediğinizde, projeyi çalıştırılabilir yapmak için gradle build tarafından bildirilecek olan sadece bir kez çevrimiçi yapmalısınız @BanyY
Biswajit Karmakar

15
Sorunun işlemci hızı yerine internet hızı olduğu anlamına mı geliyor?

1
Vay! 15 dakikadan 1 dakikaya kadar gitti: O
Kardinal - Reinstate Monica

150

Google Play hizmetlerini kullanıyorsanız, bunu Gradle derleme komut dosyasında kullanmadığınızdan emin olun:

compile 'com.google.android.gms:play-services:8.3.0'

Yalnızca uygulamanızın gerçekten kullandığı Google API'larını kullanın. Kullandığınız tek şey Google Haritalar ise, bunu kullanırsınız:

com.google.android.gms:play-services-maps:8.3.0

Bunu yaptığımda derleme sürem 2 dakikadan 25 saniyeye çıktı. Seçerek derleyebileceğiniz Google API'larının bir listesi için bkz:

https://developers.google.com/android/guides/setup


12
100'den fazla oyu hak ediyorsun. Diğer her kaynak, ekleme org.gradle.parallel=trueve komut satırı ile ilgili önermez ... ancak hiçbiri gerçekten neler olup bittiğine dair basit ve anlaşılır bir anlayış sağlamaz. Tavsiyenizi kullanarak, oluşturma sürem 1 dakika 5 saniye ile 3.427 saniye arasındaydı. Korku veren !!
Sauron

Çok teşekkürler, bu da benim ana sorunumdu. Şimdi her şey harika çalışıyor.
alnaji

1
Harika çalışıyor. Oyun hizmetleri kitaplığınızın adını bulmak için bu bağlantıyı kullanın: developers.google.com/android/guides/…
PC.

Bir kene hak ettin ... Sorunumu çözdün. Sorun google oyun hizmetlerinde ... Teşekkürler :)
Karue Benson Karue

Bu sadece uzun derleme sorunları ile yardımcı olmadı, ancak artık hata ayıklama sırasında Proguard'ı kullanmadan doğrudan Android cihaza da dağıtabiliyorum (daha önce 65K yöntem sınırı hakkında bir hata alıyordum). Teşekkürler!
magritte

52

Kepçe yapmanın kolay ve en iyi yolunu buldum

uygulamanıza gidin >> gradle.properties dosyanızı açın ve ondan birkaç satır değiştirin [remove # ]

Aksi takdirde aşağıdaki kod parçamı da yapıştırabilirsiniz

    # Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 org.gradle.parallel=true

daha önce benim için çalıştı neredeyse 2-3 dakika sürer şimdi sadece 5-6 saniye sürüyor

yukarıdaki senaryoda benim mac makinesi 8GB ram var, bu yüzden çakmak için 4 gb atandı


Bu, yapım süremi 30 dakikadan 24 dakikaya düşürdü ... Daha fazla azaltmanın bir yolu var mı?
Programlama Korsan

34

Sebebini buldum !! Android Studio'nun bir proxy sunucu ayarı varsa ve sunucuya ulaşamıyorsa, muhtemelen proxy sunucuya ulaşmaya çalışmak ve bir zaman aşımı beklemek uzun zaman alır. Proxy sunucusu ayarını kaldırdığımda, iyi çalışıyor.

Proxy kaldırılıyor: File > Settings > Appearance & Behavior > System settings > HTTP Proxy


3
Proxy sunucusu nasıl kaldırılır?
Joolah

2
Windows'ta Dosya> Ayarlar> Görünüm ve Davranış> Sistem ayarları> HTTP Proxy
Harish

2
Benim sorunum da proxy oldu, ama ben de gradle özellikleri HTTPS proxy eklemek zorunda kaldı. HTTP proxy yeterli değildi: systemProp.http.proxyHost = xxx.xxx.xxx.xxx systemProp.http.proxyPort = 8080 systemProp.https.proxyHost = xxx.xxx.xxx.xxx systemProp.https.proxyPort = 8080
user3098756

26
AS tam şaka ve bs olduğunu. Bu saçmalıktan bıktım.
The_Martian

9
Katılıyorum!!! Eclipse'den büyük bir projeyi göç ettirmek için kutsal olmayan acı çekiyorum ve şimdi hatalar giderildi, AS ile bina hiç bitmiyor !!! @The_Martian AS
Josh

20

Adımları takip etmek 10 kat daha hızlı olacak ve inşa süresini% 90 azaltacaktır

Önce aşağıdaki dizinde gradle.properties adlı bir dosya oluşturun:

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

Bu satırı dosyaya ekleyin:

org.gradle.daemon=true

org.gradle.parallel=true

4
Doğrudan stüdyo projesinde bulunan gradle.properties adresinden ayarlayabilirsiniz.
Biswajit Karmakar

3
+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8: MaxPermSize = 512 XX: Evet ayrıca bu seçeneği org.gradle.jvmargs = -Xmx2048m -XX etkinleştirmek
user779370

2
Set MaxPermSize = 1024m
Biswajit Karmakar

Bu özellikler neden önceden tanımlanmamıştır? Herhangi bir dezavantajı var mı?
oli

Bu seçenek yalnızca ayrıştırılmış projelerde kullanılmalıdır. Daha fazla detay, ziyaret gradle.org/docs/current/userguide/...
Javad

17

Java 8 özelliklerini etkinleştirmek ölümcül yavaş yapıya neden oldu

gradle

 jackOptions {
        enabled true
  }

  compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

Yukarıdaki satırları sildikten sonra saniyeler içinde oluşturulur.

Sorun var Jack ile derlemek çok uzun zaman alıyor

Proje Yöneticisinin Cevabı

Derleme sürelerinin şu anda Jack ile ilgili bir sorun olduğunun farkındayız. 2.4 Gradle eklentisinde, artımlı yapılar için önemli bir gelişme olması gereken iyileştirmeler var.

Şu an itibariyle bulabildiğim en son Gradle sürümü 2.3.0-beta4


4
Evet katılıyorum. Android stüdyosunda java 8'i etkinleştirmek için Jack'i kullanmanız gerekiyor ve bunu yaparak 1-2 dakikadan 16 dakikaya kadar sürüme uçuyorum ... ne ... Şu anda kullanılamaz. Her zaman olduğu gibi harika bir iş Google
Karol Żygłowicz


7

@ AndroidDev çözümü benim için çalıştı. Tüm lib'i dereceye dahil ettim.

compile 'com.google.android.gms:play-services:8.4.0'

Sorunu çözmek için değiştirmek. 4 dakika ile 1 dakika arasında.

compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'

thnx


4

İnternet bağlantınızı kontrol edin . İnternet hızı çok yavaşsa, gradle inşa etmek de inşa etmek uzun zaman alacaktır. Başka bir iyi hızlı bağlantı ile wifi internet bağlantımı değiştirerek kontrol ediyorum. Şimdi inşa süresi normal. Diğer çözümlere gitmeden önce lütfen bunu deneyin. birileri ayarları yeniden yüklemek veya değiştirmek için yanlış karar alır. Umarım yardımcı olur. Teşekkürler ve saygılar.


Güvenlik Duvarı'nda Android Studio'ya izin verdiğinizden emin olun. Aniden Güvenlik Duvarı penceresi açılır penceresinden izin vermemi isteyince, yeni bir kurulumda gradle için neredeyse 15 dakika bekliyordum. Yine de daha erken olabilirdi
Mohd.Zafranudin

2

1) Gradle dosyama bazı yeni kütüphane bağımlılıkları ekledikten sonra derleme sürem ciddi şekilde arttı, bundan sonra multidex kullanmam gerekiyordu. Ve multidex'i doğru bir şekilde kurduğumda, yapım sürelerim 2-3 dakikaya kadar çıktı. Daha hızlı oluşturma süreleri istiyorsanız, multidex kullanmaktan kaçının ve mümkün olduğunca kitaplık bağımlılıklarının sayısını azaltın.

2) Ayrıca burada önerilen gibi android stüdyoda "çevrimdışı çalışma" etkinleştirmeyi deneyebilirsiniz, bu mantıklı. Bu, her derleme yaptığınızda kitaplıkları yeniden kaydetmez. Belki de "çevrimdışı çalışma" devre dışı bırakıldığında yavaş bağlantı veya proxy / vpn kullanımı yavaş oluşturma sürelerine yol açabilir.

3) google hizmetleri - burada belirtildiği gibi, tüm paketi kullanmayın, sadece gerekli kısımlarını kullanın.


1

Android studio 2.0'ın beta sürümünde Instant Run adlı bir özellik sundular . İnşa süresini büyük bir faktör azaltır. Temel kavram şudur: Android Studio, yapılan küçük değişiklikleri yalnızca zaten çalışan bir uygulamaya aktarır.

Kodumuzda yaptığımız değişiklikleri üç bölüme ayırır: sıcak takas, sıcak takas ve soğuk takas, değişikliğin yapıya ne kadar yük koyacağına bağlı olarak. Bundan sonra, zaten çalışan uygulamadaki kodu değiştirir ve değişiklikleri birkaç saniye çalıştırabiliriz. Dokümanlarını görün fazla bilgi için .

Buraya Android Studio 2.0 önizlemesini indirebilirsiniz.

Not: Bu özellikle ilgili birkaç sorun var. Belgede listelediler. Kurulumdan önce kontrol edin.


1
  1. Dosya-> Ayar -> Gradle -> Çevrimdışı moda ayarla'ya gidin ve kontrol edin

1

Uzun zamandır aynı problemle karşı karşıya kaldım, ancak ayarları gradle'da ayarlayarak çözdüm.

Adım 1: Modül uygulamasında BuildScript'e bağımlılık ekleyin

buildscript {
 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}

Adım 2: dexOption ekleyin ve aşağıdaki yığını verin

  dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g"
}

3. Adım: Ürün ekle

    productFlavors {
    dev {
        minSdkVersion 23
        applicationId = "com.Reading.home"
    }
    prod {
        minSdkVersion 15
        applicationId = "com.Reading.home" // you don't need it, but can be useful

    }
}

Bu, inşa sürenizi azaltmalıdır.


0

Windows 8 kullanıyorsanız ...

DroidArc ve AndroidDev çözümleri kullanışlı, ancak yeterli değil. Sorunum Windows 8 işletim sistemim ve% 100 disk kullanımı ile ilgiliydi.

Özellikle Windows Arama hizmeti en çok tüketileniydi. Devre dışı bırak: cmd (Admin)> net.exe stop "Windows arama"

Bu bağlantıdaki talimatları izledim ve % 4 Disk Kullanımı ve Windows Performansını Geliştirmek için gerçek 4 İpucu için sorunu çözdüm

Bu yardımcı olur umarım.


0

Aynı sorunu kotlin'de de yaşadım. Eski kotlin çalışma zamanını güncellemek benim için çözdü


0

Özellikle telefonumdan aktif olarak hata ayıklarken böyle sorunlar yaşadım; bazen 27 dakika sürdü. Aşağıdaki şeyleri yaptım ve her birinin altındaki açıklamayı not ettim - biri sizin için çalışabilir:

  1. Gradle.properties dosyamı değiştirdim (proje dosyası görünümünüz Android seçeneğinde VEYA proje klasörünüzün içinde ise Gradle komut dosyaları altında). Bilgisayarımın yedekleyebileceği bir bellek olduğu için bunu ekledim - bilgisayarınızın özelliklerine ve android studio minimum gereksinimlerine bağlı olarak sonunda farklı değerler atayabilirsiniz (Xmx8000m -XX: MaxPermSize = 5000m):

org.gradle.daemon = true

org.gradle.configureondemand = true

org.gradle.parallel = true

android.enableBuildCache = true

org.gradle.caching = true

org.gradle.jvmargs = -Xmx8000m -XX: MaxPermSize = 5000m -XX: + HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8

  1. Bu benim durumumda sorunumu tamamen çözmedi. Bu nedenle başkalarının da önerdiği gibi yaptım - derleme sürecimi çevrimdışı yapmak için:

Dosya -> Ayarlar / Tercihler -> Derleme, Yürütme, Dağıtım -> Gradle

Global Gradle Ayarları (altta)

Çevrimdışı Çalışma adlı onay kutusunu işaretleyin.

  1. Bu, zamanı önemli ölçüde azalttı, ancak düzensizdi; bazen daha uzun sürdü. Bu nedenle Instant Run'da bazı değişiklikler yaptım:

Dosya -> Ayarlar / Tercihler -> Derleme, Yürütme, Dağıtım -> Anında Çalıştırma

İşaretli: Çalışırken değiştirilebilir kod için Anında Çalıştırmayı etkinleştir ...

İşaretli: kod değişikliklerinde etkinliği yeniden başlat ...

  1. Yukarıdaki hareket de düzensizdi ve bu nedenle sorunun doğrudan telefonumda ve bilgisayarımda çalışan işlemler / bellek olup olmadığını bulmaya çalıştım. Burada telefonumda ve depolamada (% 98'de kullanılan -% 70'e kadar) biraz bellek alanı açtım ve ayrıca görev yöneticisinde (Windows), hem Android Studio hem de Java.exe'nin önceliğini Yüksek olarak artırdım. Bu adımı dikkatle atın; bilgisayarınızın belleğine bağlıdır.

  2. Tüm bunlardan sonra zaman zaman aktif olarak telefonumda hata ayıklama sırasında benim inşa süresi 1 ~ 2 dakika aşağı indi ama zaman zaman çivili. Bana 22-27 dakika veren 12 saniye oldu aynı proje üzerinde en iyi saniye aşağı alarak beni şaşırttı bir kesmek yapmaya karar verdim !:

Hata ayıklamak için telefonu bağlayın, ardından RUN'u tıklayın

Başladıktan sonra telefonun fişini çekin - yapı daha hızlı devam etmeli ve sonunda bunu belirten bir hata oluşturmalıdır: Oturum 'uygulaması': APK'ları Yükleme Hatası

Telefonu tekrar bağlayın ve tekrar ÇALIŞTIR'a tıklayın ...

alternatif olarak

Hata ayıkladığım komut dosyası / işlev / yöntem sadece JAVA ise, JAVA-android değil, örneğin JSONArrays / JSONObjects ile bir API'yi test ediyorsanız, Java işlevlerimi / yöntemlerimi Netbeans üzerinde test edip tek bir dosyayı derleyip çıktıyı daha hızlı gösterebilirim Android Studio dosyalarımda gerekli değişiklikler. Bu da bana çok zaman kazandırıyor.

DÜZENLE

Yerel depolamada yeni bir android projesi oluşturmaya çalıştım ve önceki projemdeki tüm dosyaları yenisine kopyaladım - java, res, manifest, gradle uygulaması ve gradle projesi (en son sınıf sınıf yolu bağımlılığı ile). Ve şimdi telefonumu 15 saniyeden daha kısa sürede inşa edebilirim.


0

Build.gradle dosyasında, hata ayıklama için minifyEnabled varsa, kaldırın. Projemde vardı ve inşa etmek 2-3 dakika sürdü. İnşa ilerlemesine baktıktan sonra, bunu suçlu olarak buldum, bu yüzden aşağıdaki yorum satırını silmek, sorunum düzeltildi.

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }//debug{
         //   minifyEnabled true
         //   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}


0

Ben de aynı sorun vardı, hatta kepçe inşa 8 saat boyunca koştu ve endişelendim. Ama daha sonra derleme sdk sürümünü ve build.gradle'de minimum sdk sürümünü değiştirdim gibi dosyasında .

Daha eski:

android {
compileSdkVersion 25
buildToolsVersion "29.0.2"

defaultConfig {
    applicationId "com.uwebtechnology.salahadmin"
    minSdkVersion 9
    targetSdkVersion 25
}

Yeni (Güncellendi):

android 
{
  compileSdkVersion 28
   buildToolsVersion "25.0.2"

 defaultConfig {
    applicationId "com.uwebtechnology.salahadmin"
    minSdkVersion 15
    targetSdkVersion 28
 }

-2

Bilgisayarımda da benzer bir sorun vardı. Windows Defender, Gradle Building'in bir bölümünü engelliyordu. Ben devre dışı bıraktım, bundan sonra iyi çalıştı.


-43

Bilgisayarınızı yeniden başlatmayı ve Android Studio'yu tekrar çalıştırmayı deneyin. Android hedef kod tabanına sahip bir Cordova / Phonegap projesi oluşturmaya çalışırken benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.