내가 기억해둘라고 빠르게 적어둠.
보통 뭐 androidManifest.xml 이든 뭐든 좀 설정 크게 바뀌었다, 아님 아 이거 이대로 빌드 안되고 충돌날거 같은데 하는 쎄한 감이 왔다 하면 cd android & gradlew clean을 해야 하는데 가끔 여기서마저 에러 날 때가 있다.
에러 메세지는 다양한데 일단 > Task :gradle-plugin:settings-plugin:processResources FAILED 라든가, CMaker FAILED 라든가.. ... 하여간 gradlew clean이 실패한다.
나는 보통 이런 문제를 컴퓨터를 옮겨가며 코딩할 때 주로 마주한다. >> 이게 뭔 뜻이냐면, 회사 컴퓨터로 코딩했다가 git push pull 해서 개인 컴퓨터로 작업했다가 ... 이런 식으로 컴퓨터 환경을 바꿀 때 발생한단 뜻이다.
이 경우 단순한 캐시 충돌이 날 뿐만 아니라 폴더 권한 문제가 발생한다. (아마 이런 케이스는 npm install 하면 permission locked 어쩌구.. 하는 에러도 같이 보게 될 거임) 회사컴에서 작업했던 내역을 개인 컴에서 pull받아 오면 갑자기 node_modules 등등 이 프로젝트 권한이 회사컴으로 되면서(?) 개인컴의 명령어를 deny 시켜버린다.
어쨌거나 해결방법은 수동으로 캐싱 폴더 다 지워주는 거다; android/app/build , android/build, android/app/.cxx, node_modules 일단 이 4개 지워주기. 특히 node_modules은 꼭 지워야 함. 진짜 왜 그런건지; 모르겠는데 하여간 위 4개 폴더 지우면 gradlew clean 실패는 다 해결됐었다...)
삭제할 때 (특히 node_modules에서) 아마 권한 문제든 뭐든 에러 팡팡 뜨면서 삭제도 맘대로 못하게 할텐데 cmd 관리자권한으로 켜서 강제로 지워줘야 함. vscode 사이드바에서 폴더 삭제하면 무한로딩뜨기만 하고.. 하.. 속답답함. 용량 큰 파일은 무조건 vscode 끄고 터미널에서 삭제해주자 그게 제일 빠름. 삭제 다 하고 당연히 npm install, gradlew clean 다시 해주는 것도 잊지 말자. (권한문제 뜨면 cmd 관리자권한에서 할 것.)
android studio에서 빌드할 때 exits non zero 어쩌구 에러뜨면서 빌드 실패한 것도, 거의 이렇게 폴더 몇 개 삭제하고 gradlew clean 한다음 다시 해보면 잘 됨.