Şu anda başka bir Gradle örneği tarafından kullanılıyor


109

Gradle derleme sisteminde yeniyim. Üzerinde bazı temel işlevler yapmak istiyorum. Komut satırında çalıştırıyorum / oluşturuyorum. Kullanım kılavuzundan bahsediyorum . Ve bazı basit görevleri yapmak.

Basit görevleri çalıştırmaya başladığımda, başarıyla oluşturuldu. Ama bir süre sonra kendini gösteriyor "It is currently in use by another Gradle instance"ve oluyor BUILD FAILED. Görevi çalıştırmak için bir terminal kullanıyorum. O sırada hiçbir şey çalıştırmadım.

Hatayı oluşturan terminali kapatırsam bu sorun çözülecekti. Ama bunun için bir çözüm olmadığını biliyorum.

Bu hata neden sık sık geliyor?

Nasıl çözeceksin?

Ve lütfen Android'de Gradle Build sistemi hakkındaki bilgimi geliştirmek için herhangi bir bağlantıya bakın.


4
Gradle'ı daemon modunda kullanıyor musunuz ? Komut çalıştırarak kontrol edebilirsiniz gradle --stop. Ya Gradle arka plan programı çalışmıyor ya da Gradle arka plan programı durdurulmuş çıktı almayı beklersiniz .
topr

@topr daemon modunu kullanmadım ..
Dhasneem

3
Çözüm: (Bu benim için çalıştı) Adım 1. Görev yöneticisini başlatın, çalışmakta olan İKİ java.exe örneği olmadığını bulun / doğrulayın. Adım 2. Herhangi bir java.exe dosyasını veya her ikisini birden öldürün ve Android Studio'yu yeniden başlatın. Keyfini çıkarın
Lakhwinder Singh Dhillon

Yanıtlar:


289

Aşağıdaki gibi bir şey yürüterek gradle önbelleğindeki kilit dosyalarını kaldırın:

find ~/.gradle -type f -name "*.lock" -delete

12
Teşekkürler! Ben de koştuktan sonra işe yaradı find /path-to-project-dir/.gradle -type f -name "*.lock" | while read f; do rm $f; done
Tyler

4
Bugün bu soruya geri döndüm ve bu sefer kill -9kilit dosyalarını silmeye ek olarak bir işleme ihtiyacım vardı . Soru başlığındaki mesajın hemen ardından PID geldi: Sorun ne oldu: Görev geçmişi önbelleğini (,,,) kilitlemeyi bekleyen zaman aşımı. Şu anda başka bir Gradle örneği tarafından kullanılıyor. Sahibi PID: 4354 PID'miz: 9500
Joshua Goldberg

@JoshuaGoldberg # 4354 işlemini öldürmeden önce nasıl ve ne zaman başlatıldığını kontrol ettiniz mi? (Sadece merak ediyorum.)
Gece müdürü

2
Bu komutu paylaştığınız için teşekkürler, gradle için kilit dosyalarını kaldırmadan önce ve sonra bu sorunu hiç yaşamadım, sunucumu tekrar çalıştırabildim. Bu, "En iyi cevap" olarak işaretlenmelidir
Raul Rivero,

1
@ shashank-chandak bir bash kabuğunda (Terminal veya Cygwin)
The night manager

31

Bazen hızlı yol şık olmayan bir anlaşmayla gelir, işte oraya gideriz:

Önce, üzerinde çalışan tüm kademeli işlemlerin # numarasını bulun

ps -A | grep gradle

Ondan sonra kimlikleri al, hepsini tek tek öldür

sudo kill -9 <process ID>

Şimdi iyisin ;-)


29

Bu hataya takılıp kaldım .gradle/caches/ve .gradle/tekrar devam etmek için kullanıcı klasörümün içeriğini ve proje klasörümün içeriğini ortadan kaldırmak zorunda kaldım.

Buna neyin sebep olduğundan emin değil misiniz, muhtemelen bu dosyaları kilitli durumda tutan başarısız bir yapı?


Bu sorun burada belirtilmiştir - issues.gradle.org/browse/GRADLE-2795 - Gradle hatası varken, bunun en iyi çözüm olduğunu düşünüyorum.
Joshua Goldberg

3
Aslında projenin .gradle dizinine dokunmadan ~ / .gradle / caches / * silerek başarılı oldum.
Joshua Goldberg

Şanslısın @JoshuaGoldberg, ama benim durumumda chaches klasörünü bile silemiyorum. sorun ne olabilir?
offshore

.Gradle / caches / ** 'yi sildim ve tekrar çalışıyor. Garip olan şey, yerel gradle sürümünü kullanmaması gereken yalnızca ./gradlew kullanmam değil mi?
Ben Groot

1
@BenGroot AFAIK, aynı gradle sürümüne sahip tüm gradle artalan süreçleri, nereden başlatıldıklarına bakılmaksızın aynı önbelleği paylaşır (aksi açıkça zorlanmazsa).
ubuntudroid

10

Windows makinesi için:

Görev Yöneticisini Aç (Ctrl-Alt-Sil ve İşlemi Kontrol Et)

-> Android stüdyosunun iki örneğini çalıştırırsanız, Birini Kapat (Görevi Sonlandır)

-> Ardından OpenJDK Platform Binary'yi kapatın

-> Gradle senkronizasyonu şimdi AndroidStudio'da ve şimdi çalışacak


7

Bu, Android Studio'nun birden fazla örneği olduğu için olabilir.


Kabul edildi, çok pencereli android stüdyosunun açılması ve aynı anda senkronizasyon da bu soruna neden oldu
mochadwi

5

Sadece java.exe işlemini öldürmek sorunumu çöz .

-- Düzenle --

düzeltilmezse o zaman:

  • OpenJdkPlatform işlemini sonlandırın.

düzeltilmezse o zaman:

  • .gradle dizininden ve alt dizinlerden tüm ".lock" dosyalarını kaldırın (Windows: C: \ Users \ Username \ .gradle).

düzeltilmezse o zaman:

  • .gradle dizinini yeniden adlandırın veya silin ve tekrar deneyin.

Cevabınızı okuduktan sonra, .gradle dizinini sildim ve şimdi uygulamayı yeniden derledikten sonra tamamen bozuldu.
red-devil

Cevabınızı okuduktan sonra, .gradle dizinini sildim ve şimdi uygulamayı yeniden derledikten sonra tamamen bozuldu. Yazı tipi boyutları arttı, dolgu arttı, rastgele doğrulama hataları alınıyor. Şimdi ne yapabilirim?
red-devil

1
.Gradle dizinini sildiğinizden emin misiniz? remove .gradle'ın uygulama kodunuz üzerinde herhangi bir yan etkisi olmamalıdır. bu sadece gradle cache ve uygulamanızı yeniden derlerseniz. gradle gerekli dosyaları indirecektir. temiz yapıyı deneyin.
Ahmad Dehnavi

3

Gradle başarısızlık mesajının ardından genellikle ilgili işlem kimlikleri gelir, bu nedenle

Gradle sync failed: Timeout waiting to lock daemon addresses registry [...].
It is currently in use by another Gradle instance.

Owner PID: 1234
Our PID: 5678
Owner Operation: ...

Kilidi açmak için sahiplik sürecini sonlandırın:

sudo kill -9 1234

2

Windows İşletim Sistemi için:

Kilit dosyasıyla bir ilgisi olduğunu düşündüm, bu yüzden proje klasöründeki .gradle \ buildOutputCleanup'a gittim ve cache.properties.lock dosyasını sildim ve projeyi yeniden inşa ettim. Mükemmel çalışıyordu.


2

CTRL + SHIFT + ESCgörev yöneticisini açmak için basın şimdi bulun OpenJDKve öldürün, hatanın hoşunuza gittiği yere gidin

D:\.gradle\daemon\4.10.1\registry.bin.lock

dosyayı silin ve yeniden senkronize edin ve gitmeniz iyi olur.


1

Mac'te de aynı sorunu yaşadım:

dikkatli olun, projenizin harici bir sabit diskte OLMADIĞINI. Projenizin konumu, işletim sisteminizle birlikte sabit diskte olmalıdır.

(Bir İyonik uygulama oluşturma)


Görünüşe göre benim durumumda sorun da bu. Geçen gün projeyi harici bir sürücüye aktardım.
DmitryKanunnikoff

1

Mac'te aynı sorunu yaşarken, yukarıdakilerin hiçbiri benim için işe yaramadı. İşe yarayan şey ise Activity Monitor'ü açmak ve çalışan bir java sürecini kapatmaktı. Ayrıca sildiğim bir .hprof dosyasının oluşturulduğunu da fark ettim. Ondan sonra projemi çalıştırdım ve işe yaradı.


1

Geç kalabilirim ama hızlı ve etkili bir çözüm gibi görünebilirim.

Aşağıdaki adımları uygulayın.

  1. Yürüt ps -ef | grep gradle
  2. Terminali açın ve ~ / .gradle / caches yoluna gidin
  3. Yürüt find ~/.gradle -type f -name "*.lock" | while read f; do rm $f; done

Bitti.


1

Projemde de aynı sorunla karşılaşıyordum ancak bunu geçersiz kılma projesiyle çözdüm, bu yüzden android studio Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ...


0

Bu hatayı düzeltmek için herhangi bir dosyayı kaldırmam gerekmedi.

Karşılaştığım sorun, Gradle örneklerinin asılmış olması ve görev listemde Java tarafından oluşturulan 6 komut istemi girişi olmasıydı.

Komut istemi örneklerini kapanmaya zorlamak, her zamanki gibi çalışmaya devam etmemi sağladı.


0

Sorun için Benim İçin Çalışması: -

"Hata: Kavanozları kilitlemeyi bekleyen zaman aşımı Şu anda başka bir Gradle örneği tarafından kullanılıyor. Sahip PID: 6896 PID'miz: 5048 Sahip İşlemi: İşlemimiz: Kilitle"

Çözüm:-

  1. Android Studio'yu kapatın ve Görev yöneticisini açın ve java.exe işlemini sonlandırın
  2. derectory açın .... gradle \ caches.
  3. Jar2.lock dosyasını silin.
  4. Android Studion'u açın ve projeyi temizleyin.

0

Java işlemini öldürme, HOME_DIR'de ve proje dizininde .gradle'ı silme, Android Studio'yu yeniden başlatma ve hatta işletim sistemini yeniden başlatma dahil tüm bu yanıtları denediniz.

Normal şekilde çalışmaya ancak gradle senkronizasyonunu başlattıktan sonra başladı.


0

Çok basit çözüm:

öldürmeye gerek yok Android Studio, sadece OpenJdkPlatformişlemi öldürün , ardından şurada bulunan .lockdosyayı silin :

rootProject/.gradle/<version>/taskHistory

0

İşlemi sonlandırırken ve / veya kilit dosyasını kaldırırken, Gradle sorunu kendi başına çözebilmeli ve sorunu kalıcı olarak çözebilmelidir . Bu sorun raporu çözüme dair ipuçları veriyor: Gradle, gradle hizmetiyle iletişim kuramıyor.

Yerel ağ güvenlik duvarınıza bir göz atın. Benim durumumda,

  • 127.0.0.1'den 127.0.0.1'e giden trafiğe izin verme,

    sudo iptables -A OUTPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    
  • 127.0.0.1'den gelen trafiğe izin verme

    sudo iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
    

sorunu çözdü. Github'da benzer bir sorunun tartışılması .

Ve lütfen Android'de Gradle Build sistemi hakkındaki bilgimi geliştirmek için herhangi bir bağlantıya bakın.

Udacity gradle kursu , bazı zamanınız varsa.


0

terminali açın ve proje yoluna gidin ve ardından işletim sistemine bağlı olarak çalıştırın: gradlew clean veya ./gradlew clean


0

Ben de aynı problemle karşı karşıyaydım. Ama android stüdyomu yeniden başlatarak çözdüm. Projemi kaydetmek için OneDrive kullanıyorum.


0

Aynı sorunu yaşadım ve iki adım attım ve çözüldü.

  1. JDK'm Mac'e yüklenmedi (yüklemeyi unuttum) yükledim.
  2. /Users/icon_developer/.gradle/ bu yolda bulunan önbellek klasöründeki tüm öğeleri sildim ve projeyi yeniden oluşturdum. İşe yaradı!

0

herkes nihayet tam bir çözümüm var

Error :- Timeout Gradle cashe its running in other gradle


distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Please add this Line in Wrapper.Propertis and Sync now
After Sync the project When 
Invalidthcast\restart   to get the requesting componants

0

Ben de aynı şeye çok bağlıydım. Ama yakında çözüldü. Dosyayı silin:

D:\.gradle\daemon\6.1.1\registry.bin.lock

ayrıca, OpenJDK'yi görev yöneticisinden sonlandırdım. Yardımcı oldu ya da etmedim ama ikisi de sorunu çözdü.


0

Benim durumumda, Android Studio'yu kapattım ve yeniden açtım, sorun çözüldü.


0

Windows'ta bu sorunu çözmek için

  1. Goto Görev Yöneticisi
  2. Görev yöneticisinin "ayrıntılarında" Sahip PID'sini bulun
  3. Görevi bitir

0

Benim için, bir Mac'te, Fileüst Invalidate Caches / Restart...kısımdan seçim yapın, sonra hile yapmayı seçin .

Sizin için de işe yararsa güzel ve basit bir çözüm!

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.