Gradle 오류 : Android Studio에서만 이벤트 디스패치 스레드에서 쓰기 액세스가 허용됩니다.


120

Android Studio를 버전 2.2 (Windows 10)로 업데이트 한 후 다음날 아침 gradle이 모든 프로젝트에서 빌드 될 때 다음과 같은 오류가 발생했습니다.

쓰기 액세스는 이벤트 디스패치 스레드에서만 허용됩니다.

그럼에도 불구하고 gradlew -build 명령이 성공적으로 작동하고 완료되었습니다. 일반적인 Android 개발자의 WTF 복구 세트를 시도했습니다. 빌드 정리, 캐시 무효화, 빌드 폴더 제거, .gradle 폴더 제거, 다른 gradle 설정 시도, 심지어 Android Studio 재설치도 도움이되지 않았습니다.

이 질문은 2 시간을 낭비했기 때문에 커뮤니티와 내 경험을 공유하기 위해서만 만들었습니다.


Andoid Studio에만 SDK를 배치하십시오.
Ja Mal Ch

답변:


413

그래서 문제는 Android Studio가 설치된 JDK 버전과 충돌하여 JDK 위치 (파일 → 프로젝트 구조 → SDK 위치)를 확인하고 '포함 된 JDK 사용'확인란을 선택하고 JDK 위치를 '경로'로 설정하면 해결되었습니다. Android Studio '\ Android Studio \ jre


1
나를 위해 잘 작동했습니다! 감사합니다!
waseefakhtar

1
완벽한 대답! 즉시 작업했습니다. 이 답변을 읽은 후 프로젝트 구조 열기를 클릭하면 프로젝트 구조 대화 상자 자체에 "유효한 JDK 디렉토리를 선택하십시오"라는 메시지가 대화 상자 하단에 표시되고 탐색 버튼이 함께 표시되며 클릭하면 JDK로 이동합니다. 위치 텍스트 상자도 있습니다. 현재 Ubuntu에서 Android Studio 3.1.3을 사용하고 있습니다. 감사!
sam

11

Android Studio가 설치된 jdk 버전과 충돌 할 때 문제가 발생했습니다. (파일-> 프로젝트 구조-> SDK 위치)로 이동하여 '포함 된 JDK 사용'확인란을 선택하고 jdk 위치를 'android studio 경로'\ Android Studio \ jre로 설정하십시오. :) 단순


1

그것은 나를 위해 작동하지 않았고, 나는 'gradle clean build'명령을 실행했고, gradle의 한 줄에 충돌이 있음을 알았고, 그것을 삭제하고 프로젝트를 동기화했습니다 ( 이 그림에서와 같이 )

여기에 이미지 설명 입력


1
이이 같은 질문에 대한 내 같은 확률값했다 다른 사람 도움이 될 수 있습니다,이 질문에 대한 나를 위해 일한 것입니다
Ryuzaki

0

내 문제는 하드 드라이브 공간을 정리하는 동안 사용하던 SDK를 제거했다는 것입니다.

이 문제를 해결하려면 먼저 설치 한 SDK를 확인하거나 도구> SDK 관리자에서 설치하세요.

그런 다음 앱 build.gradle의 compileSdkVersion 및 targetSdkVersion을 설치된 sdk 버전으로 변경할 수 있습니다.

그렇지 않으면 사용하던 sdk를 다시 설치할 수 있습니다.


-1

Android Studio 3.2.1에서 파일-> 프로젝트 구조-> SDK 위치로 이동하여 "포함 된 JDK 사용 (권장)"확인란을 선택합니다. 여기에 이미지 설명 입력

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