현재 다른 Gradle 인스턴스에서 사용 중입니다.


108

저는 Gradle 빌드 시스템을 처음 사용합니다. 몇 가지 기본 기능을 수행하고 싶습니다. 명령 줄에서 실행 / 구축 중입니다. 사용자 가이드를 참조하고 있습니다. 그리고 몇 가지 간단한 작업을 수행합니다.

간단한 작업을 시작하면 성공적으로 빌드되었습니다. 그러나, 몇 번 한 후에는 보여주고있다 "It is currently in use by another Gradle instance"및된다 BUILD FAILED. 작업을 실행하기 위해 터미널을 사용하고 있습니다. 그 당시에는 아무 것도 실행하지 않았습니다.

오류가 발생한 단말기를 닫으면이 문제가 해결 될 것입니다. 그러나 나는 그것이 해결책이 아니라는 것을 알고 있습니다.

이 오류가 자주 발생하는 이유는 무엇입니까?

그것을 해결하는 방법?

그리고 Android의 Gradle Build 시스템에 대한 지식을 향상 시키려면 링크를 참조하십시오.


4
혹시 데몬 모드 에서 gradle을 사용 합니까? command를 실행하여 확인할 수 있습니다 gradle --stop. No Gradle daemons are running 또는 Gradle daemon stops 출력 이 표시됩니다 .
topr

@topr 나는 데몬 모드를 사용 didnt가 ..
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
Tyler

4
오늘 저는이 질문으로 돌아 왔고 이번에 kill -9는 잠금 파일을 삭제하는 것 외에도 프로세스가 필요했습니다 . 질문 제목의 메시지 바로 뒤에 PID : What were wrong : Timeout waiting to lock task history cache (,,,). 현재 다른 Gradle 인스턴스에서 사용 중입니다. 소유자 PID : 4354 우리의 PID : 9500
여호수아 골드버그

@JoshuaGoldberg 프로세스 # 4354를 죽이기 전에 언제 어떻게 시작했는지 확인 했습니까? (난 그냥 궁금합니다.)
야간 관리자는

2
해당 명령을 공유해 주셔서 감사합니다. gradle 용 잠금 파일을 제거하기 전후에 문제가 발생하지 않았기 때문에 서버를 다시 실행할 수있었습니다. 이것은 "우수 답변"으로 표시되어야합니다
라울 리베로을

1
@ shashank-chandak in a bash shell (Terminal or Cygwin)
The night manager

31

때로는 빠른 방법이 우아하지 않은 거래에서 발생합니다.

먼저 실행중인 모든 gradle 프로세스의 #을 찾습니다.

ps -A | grep gradle

그 후, ID를 얻어, 하나씩 죽여

sudo kill -9 <process ID>

이제 당신은 좋습니다 ;-)


29

이 오류가 발생하여 사용자 .gradle/caches/폴더의 내용과 프로젝트 .gradle/폴더 의 내용을 날려서 다시 시작해야했습니다.

원인이 무엇인지 확실하지 않습니다. 빌드가 실패하여 이러한 파일을 잠금 상태로 유지했을 수 있습니다.


이 문제는 여기에 주목 - issues.gradle.org/browse/GRADLE-2795 - Gradle을 버그가 존재하는 동안, 나는 이것이 가장 좋은 방법이라고 생각합니다.
Joshua Goldberg

3
실제로 프로젝트의 .gradle 디렉토리를 건드리지 않고 ~ / .gradle / caches / *를 삭제하는 데 성공했습니다.
Joshua Goldberg

@JoshuaGoldberg는 운이 좋지만 제 경우에는 chaches 폴더도 삭제할 수 없습니다. 무엇이 문제가 될 수 있습니까?
오프 쇼어

.gradle / caches / **를 삭제했는데 다시 작동합니다. 이상한 점은 로컬 gradle 버전을 사용하지 않아야하는 ./gradlew 만 사용한다는 것입니다.
Ben Groot

1
@BenGroot AFAIK 동일한 gradle 버전을 가진 모든 gradle 데몬은 시작 위치에 관계없이 동일한 캐시를 공유합니다 (명시 적으로 강제하지 않은 경우).
ubuntudroid

10

Windows 시스템의 경우 :

작업 관리자 열기 (Ctrl-Alt-Delete 및 프로세스 확인)

-> 두 개의 android studio 인스턴스를 실행한다면 Close One (End Task)

-> 그런 다음 OpenJDK Platform Binary를 닫습니다.

-> 이제 AndroidStudio에서 Gradle 동기화하면 이제 작동합니다.


7

이는 Android Studio의 인스턴스가 두 번 이상 있기 때문에 발생할 수 있습니다.


뿐만 아니라 멀티 윈도우 안드로이드 스튜디오를 열고 동시에 발생이 문제를 동기화, 합의
mochadwi

5

그냥 java.exe 프로세스를 죽여 내 문제를 해결하십시오.

-- 편집하다 --

수정되지 않은 경우 :

  • OpenJdkPlatform 프로세스를 종료하십시오.

수정되지 않은 경우 :

  • .gradle 디렉터리 및 하위 디렉터리 (Windows : C : \ Users \ Username \ .gradle) 에서 모든 ".lock"파일을 제거합니다 .

수정되지 않은 경우 :

  • .gradle 디렉토리의 이름을 바꾸거나 삭제 하고 다시 시도하십시오.

귀하의 답변을 읽은 후 .gradle 디렉토리를 삭제했으며 이제 앱을 다시 컴파일하면 완전히 손상되었습니다.
red-devil

귀하의 답변을 읽은 후 .gradle 디렉토리를 삭제했으며 이제 앱을 다시 컴파일하면 완전히 손상되었습니다. 글꼴 크기가 증가하고 패딩이 증가하여 임의 유효성 검사 오류가 발생합니다. 내가 지금 무엇을 할 수 있을까?
red-devil

1
.gradle 디렉토리를 삭제 하시겠습니까? .gradle을 제거해도 앱 코드에 부작용이 없어야합니다. 그것은 단지 gradle 캐시이며 앱을 다시 컴파일하는 경우입니다. gradle은 필요한 파일을 다운로드합니다. 깨끗한 빌드를 시도하십시오.
Ahmad Dehnavi

3

Gradle 실패 메시지 뒤에는 일반적으로 관련 프로세스 ID가옵니다.

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 OS의 경우 :

잠금 파일과 관련이 있다고 생각했기 때문에 프로젝트 폴더의 .gradle \ buildOutputCleanup으로 이동하여 cache.properties.lock 파일을 삭제하고 프로젝트를 다시 빌드했습니다. 완벽하게 작동했습니다.


2

CTRL + SHIFT + ESC작업 관리자를 열려면 누르 십시오. 이제 OpenJDK오류가 가리키는 곳으로 이동하여 제거하십시오.

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

파일을 삭제하고 다시 동기화하면됩니다.


1

Mac에서 동일한 문제가 발생했습니다.

프로젝트가 외부 하드 디스크에 있지 않도록주의하십시오. 프로젝트의 위치는 운영 체제가 설치된 하드 디스크에 있어야합니다.

(이오니아 앱 구축)


제 경우에는 이것도 문제인 것 같습니다. 며칠 전 프로젝트를 외장 드라이브로 옮겼습니다.
DmitryKanunnikoff

1

Mac에서 동일한 문제가 발생했지만 위의 어느 것도 나를 위해 일하지 않았습니다. 그러나 작동 한 것은 활동 모니터를 열고 실행중인 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 파일 -> 캐시 무효화 / 다시 시작 에서 다음 단계를 따르십시오 .


0

이 오류를 수정하기 위해 파일을 제거 할 필요는 없습니다.

내가 가진 문제는 Gradle 인스턴스가 중단되었고 Java가 생성 한 작업 목록에 6 개의 명령 프롬프트 항목이 있다는 것입니다.

명령 프롬프트 인스턴스를 강제로 닫으면 평소처럼 작업을 계속할 수있었습니다.


0

문제에 대한 나를위한 작업 :-

"오류 : jar 잠금 대기 시간 초과는 현재 다른 Gradle 인스턴스에서 사용 중입니다. 소유자 PID : 6896 우리 PID : 5048 소유자 작업 : 작업 : 잠금"

해결책:-

  1. Android Studio를 닫고 작업 관리자를 열고 java.exe 프로세스를 종료하십시오.
  2. derectory .... gradle \ caches를 엽니 다.
  3. jar2.lock 파일을 삭제하십시오.
  4. Android Studion을 열고 프로젝트를 정리하십시오.

0

java 프로세스 종료, HOME_DIR 및 프로젝트 디렉토리에서 .gradle 삭제, Android Studio 다시 시작, OS 다시 시작 등이 모든 답변을 시도했습니다.

gradle sync를 시작한 후에 만 ​​정상적으로 작동하기 시작했습니다.


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에서 비슷한 문제 대한 토론 .

그리고 Android의 Gradle Build 시스템에 대한 지식을 향상 시키려면 링크를 참조하십시오.

Udacity의의 Gradle을 코스 , 당신은 약간의 시간이있는 경우.


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를 종료했습니다. Idk가 도움이 되었든 아니든 둘 다 문제를 해결했습니다.


0

제 경우에는 Android Studio를 닫고 다시 열면 문제가 해결되었습니다.


0

Windows에서이 문제를 해결하려면

  1. 작업 관리자로 이동
  2. 작업 관리자의 "세부 사항"에서 소유자 PID를 찾습니다.
  3. 작업 종료

0

나를 위해, Mac에서는 File상단을 선택한 다음 Invalidate Caches / Restart...트릭 완료 를 선택하십시오 .

그것이 당신에게도 효과가 있다면 좋은 간단한 솔루션입니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.