source

오류: 작업 ':app:clean'에 대해 실행에 실패했습니다.파일을삭제할수없습니다.

manysource 2023. 11. 1. 22:26

오류: 작업 ':app:clean'에 대해 실행에 실패했습니다.파일을삭제할수없습니다.

Android Studio Gradle 프로젝트(주로 Kotlin 코드 포함)를 재구축하려고 하는데, 작업이 시작되었습니다.UnableToDeleteFileException청소/재시공 과정 중:

Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar

프로젝트의 패키지 구조를 변경하려고 시도한 후부터 이런 일이 발생하기 시작했습니다.아쉽게도 안드로이드 스튜디오를 통해 리팩토링을 하기보다는 소스 폴더의 이름을 바꾸고 이동하는 방식으로 진행했는데, 이는 잘못된 생각이었습니다.

저는 하루 종일 이 문제에 대한 해결책을 찾고 있었는데, 이것들이 제가 실패하려고 노력했던 것들입니다.

  • 그래들 동기화를 하는 중.
  • Java JRE 및 Java SDK 재설치;
  • Android Studio(1.4)의 최신 버전을 다시 설치합니다.
  • 이전 AS 버전(1.3)으로 롤백합니다.
  • AS 캐시를 무효화하고 다시 시작합니다.
  • 삭제하기gradle그리고..gradle프로젝트 디렉토리에 있는 디렉토리.
  • 삭제하기.gradle내 사용자 디렉토리에 있는 디렉토리;
  • 입니다.gradlew cleanAS 터미널로부터.
  • 소스를 수동으로 새 프로젝트에 복사(프로젝트 전반에 걸쳐 지속된다는 것이 이상합니다.)

약간의 성공을 거두었지만 오류가 다시 발생하기 전에 한 번만 더 정리하고 재구축할 수 있게 해준 것들:

  • AS를 닫고 빌드 파일을 수동으로 삭제한 후 다시 엽니다.
  • 킬링 더java.exeAS가 실행되는 동안 프로세스 수행(기술적으로는 매번 수행할 수 있지만 지루하고 빌드 프로세스 속도가 느려짐)

그래서 자바 프로세스 컴파일은 어떤 이유로 빌드 파일에 잠금을 걸 수도 있지만, 코틀린과도 관련이 있을 수도 있습니다.제가 작업 중인 (보다 성숙한) Java Android 프로젝트가 있지만, 클리닝할 때 이 오류를 재현할 수는 없습니다.제 코틀린 프로젝트에만 해당되는 것 같습니다.

업데이트:

코틀린 안드로이드 플러그인으로 인해 문제가 발생하고 있음을 알게 되었습니다.제거하면 문제가 사라집니다.apply plugin: 'kotlin-android'모듈에서build.gradle파일을 다시 삽입하면 다시 나타납니다.이에 대한 통찰력을 자유롭게 제시해 주시기 바랍니다.

업데이트 2:

마지막 업데이트가 원인이 아닙니다.프로젝트에 Kotlin 파일이 포함되어 있으면 리빌드 및 클리닝이 실패한다는 것을 발견했습니다.모든 Kotlin 파일이 제거되어도 백그라운드 Java 프로세스가 삭제될 때까지 계속 실패합니다. 즉, 빌드 파일에 대한 일종의 잠금이 있음을 의미합니다.여기 버그 재현을 위한 좀 더 자세한 내용과 단계를 담은 버그를 제출했습니다: KT-94

작업 관리자의 자바 TM 프로세스를 모두 죽였고 이를 통해 재구축할 수 있었습니다.

Android Studio 2.0 Beta를 사용하는 경우 이 문제가 나타날 수 있으며(NTFS 파일 시스템에서 작업하는 경우) "인스턴트 실행"이 원인인 것 같습니다.설정에서 "Instant Run"을 검색한 후 확인란의 선택을 취소합니다.

버그 추적기에 문제를 제기했습니다.

파일 시도 -> 캐시 무효화 후 다시 시작

이거 나한테 통했어요.

코틀린 버그 트래커에 버그 리포트를 올린 후, AOSP 트래커에 이슈 61300을 통보받았습니다.그것이 원인인 것 같습니다.현재로서는 제가 할 수 있는 일이 없기 때문에, 이 질문은 답변대로 표시하고 버그가 수정되면 답변을 업데이트하겠습니다.

그동안 Windows를 실행하고 있다면 해결책을 찾은 것 같습니다.LockHunter를 다운로드한 다음 모듈에 다음을 추가해야 합니다.gradle.build파일, 바꾸기lockhunterLockHunter로 가는 경로의 변수입니다.exe:

task clean(type: Exec) {
    ext.lockhunter = '\"C:\\LockHunter.exe\"'
    def buildDir = file(new File("build"))
    commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}

따라서 app:clean 작업이 실행될 때 LockHunter는 빌드 파일의 잠금을 강제적으로 자동으로 해제하고 삭제합니다.

이 명령을 사용하여 터미널에서 프로젝트 치료gradlew clean.

enter image description here

명령으로 해결했습니다.

taskkill /F /IM java.exe

그 다음:

gradle assembleDebug 

디렉터리 삭제intermediates문제를 빨리 해결할 수 있습니다.

프로젝트가 재구축되면 디렉토리가 재구축됩니다.

안드로이드 스튜디오 2.2 프리뷰 1에서 같은 문제에 직면하고 있었는데 @AndresSuarez의 솔루션이 맞았지만 어떤 이유로 태스크 관리자에서 JAVA TM 프로세스를 찾을 수 없었습니다.그래서 다음과 같은 해결책을 시도해 보았는데 효과가 있었습니다.

명령 프롬프트를 열고 입력합니다.TASKKILL /F /IM java.exe. 이렇게 하면 모든 JAVA TM 프로세스가 자동으로 종료됩니다.이제 앱을 다시 컴파일하면 작동합니다.

또한 .bat 파일을 생성하여 위 코드를 추가하고 문제가 발생할 때마다 실행할 수 있습니다.

저도 같은 문제를 겪었고 이것이 저에게 효과가 있었습니다.

  1. 안드로이드 스튜디오를 닫습니다.
  2. 중간 디렉터리 삭제(Android Studio가 열려 있는 한 이 디렉터리는 삭제할 수 없습니다.)
  3. Android Studio를 다시 엽니다.

안드로이드 스튜디오 2.3에서 이런 문제가 있었습니다.

안드로이드 스튜디오를 다시 시작해보기만 하면 아무런 불만 없이 청소를 할 수 있었습니다.

저는 능동적인 디버깅 과정 때문에 이런 일이 발생했습니다.따라서 청소나 재시공을 하기 전에 활성화된 모든 공정을 반드시 제거해야 합니다.성공을 확정하려면 캐시 무효화/재시작을 실행합니다.

나에게는 도움이 됩니다.Exit Android Studio, 한번 더 클릭Clean Project(동일한 오류로 나타남) 그리고 다음 클릭Make Project- 그 후에Run 'app'Android Studio에 있는 버튼.

저는 명령 줄을 통해 apk 파일을 물리적 장치에 설치하고 애플리케이션을 시작하는 데 사용하기 때문에 범인이 apk 파일을 붙잡고 있습니다.

그래서 간단하게:

작업 관리자 > 프로세스 종료 adb.exe

파일을 자유롭게 삭제할 수 있고 프로젝트를 청소할 수 있습니다.

저는 이걸 제 우분투에서 이렇게 풀었어요.

  1. 윈도우의 작업 관리자에서와 같이 시스템(Ubuntu)에서 실행 중인 프로세스를 확인합니다.

    실행 중인 모든 프로세스를 나열하는 Ubuntu terminal 명령 ----> "gnome-system-monitor"

  2. 목록에서 JAVA 및 ANDROID 프로세스를 종료하거나 종료합니다.

  3. 다시 스튜디오를 시작하고 프로젝트를 가져옵니다.

그것은 문제없이 저에게 효과가 있습니다.이게 도움이 되길...

이것이 이미 생성되어 복제된 프로세스의 문제라고 생각했습니다.

그 해결책은 꽤 쉽습니다.

이것이 제게 효과가 있었던 해결책 중 하나입니다.

프로젝트의 app/build/outputs/apk 폴더가 열릴 수 있습니다.

그러니 이 폴더를 닫고 프로젝트를 다시 빌드하기만 하면 됩니다.해결될 겁니다

app/build/outputs/apk 폴더를 사용한 프로그램을 찾은 후 폴더만 삭제합니다.

안드로이드 스튜디오는 리빌드 하기 전에 오래된 apk 폴더를 삭제해야 할 것 같습니다.

저 같은 경우는 - 로 해결합니다.

  1. 먼저 에뮬레이터에서 실행 중인 경우 앱을 닫습니다.
  2. 그런 다음 명령을 실행합니다.gradle --stop안드로이드 스튜디오터미널에 있습니다.
  3. 그런 다음 프로젝트를 정리하고 프로젝트를 재구성합니다.

버그 보고서에 제시된 것과 같이 줄에 대한 코멘트를 해제합니다.

idea.jars.nocopy=false

에서idea.properties파일로 문제가 해결되었습니다.

Android Studio를 업데이트할 때마다 이 작업을 수행해야 합니다.

중간에 문제가 발생하는 경우가 있으므로 삭제하고 프로젝트를 재구성합니다.

오어

simply run cmd command - > gradlew clean

작업 공간의 프로젝트 폴더(나를 위한 작업)에서

안드로이드 스튜디오 3.0에서도 같은 문제가 있었습니다.이것이 해결했습니다.

  1. 스튜디오 닫기
  2. projectRoot/build/및 projectRoot/app/build/를 삭제합니다.
  3. 스튜디오 다시 시작

토종 개발자들을 반응시킵니다.

달려.

sudo cd android && ./gradlew clean

그리고 만약 당신이 apk를 출시하고 싶다면.

sudo cd android && ./gradlew assembleRelease

누군가에게 도움이 되길 바랍니다.

단순히 cmd 명령어를 실행합니다 - > gradlew clean, 그리고 문제를 해결합니다.

로컬 백엔드(로컬 구글 앱 엔진의 자바 서블릿)로 테스트하는 경우 실행 중인 프로세스가 일부 파일을 차단합니다.따라서 라이브 디플로이가 불가능합니다.따라서 이 경우 클린 또는 빌드를 시작하기 전에 로컬 백엔드를 중지하면 이 문제를 해결할 수 있습니다.실행 -> 백엔드 중지에서 옵션을 찾을 수 있습니다.

동일한 오류가 발생하여 여러 방법으로 시도했지만 해결책은 /android 및 /android/app 디렉토리에서 빌드 폴더를 삭제하는 것이었습니다.

달려.react-native run-android나를 위해 일했습니다.

프로젝트에서 누락된 디렉토리를 글로벌 검색하여 해결하였습니다.그런 다음 해당 키워드가 포함된 파일을 삭제합니다.그것은 내가 모든 것을 제거한 후에 성공적으로 청소할 수 있습니다.build그리고..externalNativeBuild수동 디렉터리

프로젝트를 D:에서 G: 드라이브로 옮긴 후에도 같은 문제가 있었는데 디스크 확인을 통해 문제가 해결되었습니다.

chkdsk /f /r /x G: ** 여기서 일부 명령줄 스위치를 사용했습니다.**

/F 디스크의 오류 수정

/R 불량 섹터를 찾아 읽을 수 있는 정보를 복구합니다(즉 /F).

/X 필요한 경우 볼륨을 먼저 마운트 해제합니다(즉 /F)(중요).

참고: /X는 드라이브를 마운트 해제하고 프로젝트의 빌드 디렉토리를 수동으로 삭제할 수 있기 때문에 중요합니다.

이제 프로젝트를 재구축합니다.

이를 위한 내 솔루션은 매우 간단했습니다(Windows를 사용하는 경우).1 - Android Studio를 닫습니다.2- 안드로이드 스튜디오를 관리자로 실행합니다. 3- 여기까지입니다.

저는 이 정확한 문제를 제 스스로 해결했습니다.

문제는 다른 사람이 파일을 만들어서 컴퓨터에 대한 관리자 권한이 있는데도 파일이나 파일을 변경할 수 없다는 것이었습니다.파일이나 폴더의 속성으로 들어가 소유권을 변경하거나 소유권을 추가해야 합니다. 페이지는 당신이 해야 할 일을 차근차근 잘 설명해 줍니다.

위와 같은 작업을 한 후 파일 탐색기에서 파일을 찾아 수동으로 추출했습니다.어차피 삭제하려고 했다면 안드로이드 스튜디오 프로젝트에서는 필요 없다고 생각합니다.

리소스를 사용할 수 있는 또 다른 애플리케이션은 안드로이드 스튜디오의 코틀린 REPL입니다.그걸 닫았는데 문제없이 다시 지을 수 있었습니다.

모든 자바 서비스를 제거하려고 했지만 IntelliJ terminal에서 gradlew clean build 명령을 실행하는 동안 여전히 실패하고 있습니다.삭제를 시도하는 경로와 동일한 경로로 개설한 다른 응용 프로그램도 확인했습니다.하지만 그런 것은 찾을 수 없었습니다.그래서 마침내 IntelliJIDE를 다시 시작했고 빌드를 원활하게 진행할 수 있었습니다.

언급URL : https://stackoverflow.com/questions/32914499/error-execution-failed-for-task-appclean-unable-to-delete-file