В даний час він використовується іншим екземпляром Gradle


108

Я новачок у системі побудови Gradle. Я хочу виконати на ньому деякі основні функції. Я запускаю / будую його в командному рядку. Я маю на увазі посібник користувача . І, виконуючи кілька простих завдань.

Коли я починаю запускати прості завдання, це було побудовано успішно. Але через деякий час це показується "It is currently in use by another Gradle instance"і стає BUILD FAILED. Я використовую термінал для запуску завдання. Я тоді нічого не запускав.

Якби я закрив термінал, який генерує помилку, ця проблема була б вирішена. Але я знаю, що це не рішення для цього.

Чому ця помилка часто виникає?

Як це вирішити?

І, будь ласка, зверніться за будь-яким посиланням, щоб покращити свої знання про систему Gradle Build на Android.


4
Ви випадково використовуєте gradle в режимі демона ? Ви можете перевірити, запустивши команду gradle --stop. Ви очікували б або отримати вихідні дані Не працюють демони Gradle, або демон Gradle зупинився .
topr

@topr Я не використовував режим демона ..
Dhasneem

3
Рішення: (Це спрацювало у мене) Крок 1. Запустіть диспетчер завдань, знайдіть / переконайтеся, що НЕ ДВА екземпляри java.exe працюють. Крок 2. Просто вбийте будь-який java.exe або обидва і запустіть Android Studio знову. Насолоджуйтесь
Lakhwinder Singh Dhillon

Відповіді:


286

Видаліть файли блокування з кешу gradle, виконавши щось подібне:

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

12
Дякую! Це спрацювало після того, як я додатково побіг find /path-to-project-dir/.gradle -type f -name "*.lock" | while read f; do rm $f; done
Тайлер,

4
Сьогодні я повернувся до цього питання, і цього разу мені знадобився kill -9процес, окрім видалення файлів блокування. Повідомлення в заголовку запитання негайно супроводжувалося PID: Що пішло не так: очікування очікує на блокування кешу історії завдань (,,,). В даний час він використовується іншим екземпляром Gradle. Власник PID: 4354 Наш PID: 9500
Джошуа Голдберг,

@JoshuaGoldberg Чи перевіряли ви, як і коли було розпочато процес # 4354, перш ніж його вбивати? (Мені просто цікаво.)
Нічний менеджер

2
Дякую, що поділилися цією командою, у мене ніколи не було цієї проблеми до і після видалення файлів блокування для gradle, я зміг знову запустити свій сервер. Це має бути позначено як "Найкраща відповідь"
Рауль Ріверо,

1
@ shashank-chandak in the bash shell (Terminal або Cygwin)
Нічний менеджер

31

Іноді швидкий шлях укладається в неелегантній угоді, ось і йдемо:

Знайдіть спочатку номер усього процесу gradle, який триває

ps -A | grep gradle

Після цього дістаньте посвідчення особи, вбийте їх усіх по черзі

sudo kill -9 <process ID>

Тепер ти добре ;-)


29

Я застряг у цій помилці, і мені довелося здути вміст .gradle/caches/папки мого користувача та вміст .gradle/папки мого проекту, щоб знову почати роботу.

Не знаєте, що це спричинило, можливо, невдала збірка, яка утримувала ці файли в заблокованому стані?


Тут зазначається ця проблема - issues.gradle.org/browse/GRADLE-2795 - Поки існує помилка gradle, я вважаю, що це найкраще рішення.
Джошуа Голдберг

3
Насправді мені вдалося просто видалити ~ / .gradle / caches / *, не торкаючись каталогу .gradle проекту.
Джошуа Голдберг

Пощастило вам @JoshuaGoldberg, але в моєму випадку я навіть не можу видалити папку chaches. що може бути проблемою?
офшор

Я видалив .gradle / caches / **, і він знову працює. Дивна річ у тому, що я використовую лише файл ./gradlew, який не повинен використовувати локальну версію gradle, чи не так?
Ben Groot

1
@BenGroot AFAIK всі демони gradle з однаковою версією gradle мають один і той же кеш (якщо явно не примусово інше), незалежно від того, звідки вони були запущені.
ubuntudroid

10

Для машини Windows:

Відкрити диспетчер завдань (Ctrl-Alt-Delete і перевірити процес)

-> Якщо ви запускаєте два екземпляри android studio, закрийте один (Кінець завдання)

-> Потім закрийте OpenJDK Platform Binary

-> Gradle sync зараз на AndroidStudio, і це буде працювати зараз


7

Це може траплятися, оскільки існує не раз екземпляр Android Studio.


Погоджено, відкриття багатовіконної андроїд-студії та одночасна синхронізація також спричинили цю проблему
mochadwi

5

Просто вбийте процес java.exe, щоб вирішити мою проблему.

- Редагувати -

якщо не виправлено, то:

  • вбити процес OpenJdkPlatform.

якщо не виправлено, то:

  • видаліть усі файли ".lock" з каталогу та підкаталогів .gradle (windows: C: \ Users \ Ім'я користувача \ .gradle).

якщо не виправлено, то:

  • перейменуйте або видаліть каталог .gradle і повторіть спробу.

Прочитавши вашу відповідь, я видалив каталог .gradle і тепер після перекомпіляції додаток повністю зламався.
red-devil

Прочитавши вашу відповідь, я видалив каталог .gradle і тепер після перекомпіляції додаток повністю зламався. Розміри шрифтів збільшились, доповнення збільшилось, отримуючи випадкові помилки перевірки. Що я можу зробити зараз?
red-devil

1
Ви впевнені, що просто видалите каталог .gradle? remove .gradle не повинен мати жодних побічних ефектів для вашого коду програми. це просто кеш gradle, і якщо ви компілюєте додаток знову. gradle завантажить необхідні файли. спробуйте чисту збірку.
Ахмад Дехнаві,

3

За повідомленням про помилку Gradle, як правило, слідують відповідні ідентифікатори процесу, так воно і буде

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: ...

Щоб розблокувати, просто вбийте процес власника:

sudo kill -9 1234

2

Для ОС Windows:

Я зрозумів, що це має щось спільне з файлом блокування, тому я просто зайшов у .gradle \ buildOutputCleanup у папці проекту, видалив файл cache.properties.lock і відновив проект. Це працювало чудово.


2

натисніть, CTRL + SHIFT + ESCщоб відкрити диспетчер завдань, знайдіть OpenJDKі вбийте його, перейшовши туди, де вказує помилка

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

видаліть файл і повторіть, і все готово.


1

У мене була та ж проблема на mac:

подбайте, щоб ваш проект НЕ був на зовнішньому жорсткому диску. Місцезнаходження вашого проекту має бути на жорсткому диску з операційною системою.

(Створення іонного додатка)


Здається, у моєму випадку проблема теж у цьому. Днями я переніс проект на зовнішній диск.
Дмитро Канунніков,

1

Маючи ту саму проблему на Mac, жодне з перерахованого не працювало для мене. Однак спрацювало відкриття Activity Monitor і закриття запущеного процесу Java. Також я помітив, що було створено файл .hprof, який я видалив. Після цього я запустив свій проект, і він спрацював.


1

Я можу запізнитися, але виглядаю як швидке та ефективне рішення.

Виконайте наступні кроки.

  1. Виконати ps -ef | grep gradle
  2. Відкрийте термінал і перейдіть до шляху ~ / .gradle / caches
  3. Виконати find ~/.gradle -type f -name "*.lock" | while read f; do rm $f; done

Зроблено.


1

Я зіткнувся з такою ж проблемою у своєму проекті, але я вирішив це шляхом недійсності проекту, тому виконайте ці дії в android studio File -> Invalidate Caches / Restart ...


0

Мені не потрібно було видаляти будь-які файли, щоб виправити цю помилку.

Проблема у мене полягала в тому, що екземпляри Gradle зависли і являли собою 6 записів командного рядка в моєму списку завдань, які були створені Java.

Примусове закриття екземплярів командного рядка дозволило мені продовжувати роботу, як зазвичай.


0

Це працює для мене для проблеми: -

"Помилка: очікування очікує на блокування банок. На даний момент воно використовується іншим екземпляром Gradle. Власник PID: 6896 Наш PID: 5048 Власник Операція: Наша операція: Блокування"

Рішення: -

  1. закрийте Android Studio і відкрийте диспетчер завдань і завершіть процес java.exe
  2. відкрити деректорій .... gradle \ caches.
  3. Видаліть файл jar2.lock.
  4. Відкрийте android Studion і очистіть проект.

0

Спробував усі ці відповіді, включаючи процес вбивства Java, видалення .gradle у HOME_DIR та в директорії проекту, перезапуск Android Studio та навіть перезапуск ОС.

Він почав нормально працювати лише після того, як я запустив синхронізацію gradle.


0

Дуже просте рішення:

не потрібно вбивати Android Studio, просто вбийте OpenJdkPlatformпроцес, а потім видаліть .lockфайл, що знаходиться в:

rootProject/.gradle/<version>/taskHistory

0

Поки вбивство процесу та / або видалення файлу блокування працює, Gradle повинен мати змогу вирішити це самостійно, вирішуючи проблему назавжди . Цей звіт про проблему натякає на рішення: Gradle не може спілкуватися зі службою gradle.

Погляньте на свій брандмауер локальної мережі. У моєму випадку

  • дозволяючи вихідний трафік з 127.0.0.1 до 127.0.0.1,

    sudo iptables -A OUTPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
    
  • дозволяючи вхідний трафік з 127.0.0.1

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

вирішив питання. Обговорення подібної проблеми на github .

І, будь ласка, зверніться за будь-яким посиланням, щоб покращити свої знання про систему Gradle Build на Android.

Курс швидкості швидкості , якщо у вас є час.


0

відкрийте термінал і перейдіть до шляху проекту, потім запустіть, залежно від операційної системи: gradlew clean або ./gradlew clean


0

Я стикався з тією ж проблемою. Але я вирішив це, просто перезапустивши свою андроїд-студію. Я використовую OneDrive для збереження свого проекту.


0

У мене була та сама проблема, і я зробив два кроки, і вона вирішилася.

  1. Мій JDK не був встановлений на Mac (я забув встановити) я встановив його.
  2. Я видалив усі елементи з папки кешів, розташованих у цьому шляху /Users/icon_developer/.gradle/, і відновив проект. Це спрацювало!

0

нарешті всі, у мене є повне рішення

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

Я занадто застряг у тому ж. Але це було відсортовано незабаром. Просто видаліть файл:

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

також, я закінчив OpenJDK з диспетчера завдань. Ідк це допомогло чи ні, але обидва вони вирішили проблему.


0

У моєму випадку просто закрив Android Studio і знову відкрив її, проблема вирішена.


0

Щоб вирішити цю проблему у Windows

  1. Перейти до диспетчера завдань
  2. Знайдіть ПІД власника в "подробицях" диспетчера завдань
  3. Завершіть завдання

0

Для мене, на Mac, виберіть Fileзверху, а потім виберіть Invalidate Caches / Restart...виконаний трюк.

Приємне просте рішення, якщо воно працює і для вас!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.