본문 바로가기
개발이야기

[Unity]안드로이드 빌드 에러 commandinvokationfailure failed to update android sdk package list

by Kim_Jack 2020. 7. 19.
반응형

유니티 안드로이드 빌드 시 다음과 같은 에러가 나오는 현상

'commandinvokationfailure failed to update android sdk package list'

'1 exception was raised by workers: See the Console for details. '

 

unity에서 안드로이드 빌드 할 때 간혹 'commandinvokationfailure failed to update android sdk package list' 라는 에러가 뜬다. 

다음과 같은 에러 증상을 구글링하면 여러 가지 해결방안이 나오는데 이 에러는 여러 경우에 나올 수 있는 에러이기에 나머지 로그들도 잘 살펴본 후 본인에게 맞는 솔루션을 찾아서 해결하면 된다. 

 

검색해보면 에셋들을 ReimportAll 하는 방법도 나오고

빌드 폴더를 변경해라 SDK를 재 설치해라, 플러그인이 구버전이라 그렇다 등등 많다. 

 

그런데 나는 이 모든것을 다 해도 되지가 않아서 삽질을 좀 더 했다. 

 

유니티 이슈트래커에서 나랑 똑같은 증상을 발견했다. 

 

https://issuetracker.unity3d.com/issues/cannot-build-android-player-if-the-colour-space-is-set-to-linear

 

Unity IssueTracker - [Android] CommandInvokationFailure appears in console when inspecting the API levels in Player Settings if

To reproduce this issue: - Install either Unity Editor 2019.3 or 2019.2 using the HUB - install the Android Module and the Android S...

issuetracker.unity3d.com

이 글에 따르면 unity 2019.2.0 ~ 3.0 버전에서 생기는 이슈라고 하는데 

자바 버전(JDK)이 8보다 높으면 생길 수 있다고 한다. 

그래서 나의 자바 버전을 확인해보니 14 였다. 

그래서 나의 자바 버전을 우선 다운그레이드 시키는 작업을 시도해봤다. 그 방법도 아래에서 공유하겠다. 

 

맥북을 사용하는 사람들은 터미널을 켜고 java -version이라고 치면 사용 중인 기본 자바 버전이 나온다. 

윈도우를 사용하는 분들은 따로 검색해서 찾아보도록.. 

오라클로 들어가서 jdk8을 찾아서 설치하면 된다. 

https://www.oracle.com/kr/java/technologies/javase/javase-jdk8-downloads.html

jdk를 설치하고 환경변수를 바꿔줘야 하는데 여기서는 우선 맥북 환경에서만 이야기하기 때문에 윈도우를 사용하시는 분들은 환경변수 세팅하는 다른 글을 찾아서 하고 오시면 된다.

 

JDK를 설치하면 다음 경로에 나온다. 

Finder를 켜고

/Library/Java/JavaVirtualMachines/  를 입력하고 이동을 클릭

나는 14와 8 버전 두 개가 설치되었고 14 버전으로 세팅이 되어있다. 

 

환경 세팅을 8 버전으로 바꿔주면 되는데 환경변수 세팅이 잘 되지않아서 나는 어차피 버전이 여러개가 필요없어서 그냥 14버전을 지웠다. 

 

jdk를 여러 버전 쓰셔야 하는 분들은 환경변수 바꾸는 방법을 찾아서 8버전으로 바꿔보길 바란다.

 

나는 14 버전을 지우니 자동으로 8버전으로 세팅이 잡혔다. 

 

자 그리고 유니티를 재 실행하여서 다시 빌드를 시도해 보았다. 

 

여기서 아마 되는 분들도 있을 텐데 나는 새로운 에러를 발견했다. 

Build failure 

1 exception was raised by workers: See the Console for details. 

현기증이 났다. 

 

나는 프로젝트에서 Google Admob을 사용 중이었는데 구 버전 함수를 써서 그런가 싶었다. 

 

다시 삽질 시작해서 몇 가지 방법을 찾았다. 

https://forum.unity.com/threads/1-exception-was-raised-by-workers.768092/

 

1 exception was raised by workers

Please help me, i can't build my app. (I'm not using unity ads. only admob.) FAILURE: Build failed with an exception....

forum.unity.com

이 포럼에서 나랑 비슷한 문제를 겪는 사람들이 있어서 참고해서 시도해 보았다.

 

Assets -> External Dependency Manager -> Android Resolver -> Settings

"Enable auto-resolution" 과 "Install android packages" 를 체크 해제하고 OK를 누른다.

 

그리고 다시 Assets에 들어가서 Resolve를 클릭한다. 

 

자 그리고 다시 빌드를 해봤다.

그런데 ? 

1 exception was raised by workers: See the Console for details. 

이 짜증 나는 에러가 또 떴다.

 

더 찾아보니 Keystore 패스워드나 key 패스워드가 틀려도 다음과 같은 에러가 난다고 한다. 

 

 

그래서 살펴보니 나는 Key 패스워드를 잘못 입력했었다.. 

제대로 입력 후 다시 빌드해보니 성공.

 

유니티 안드로이드 빌드시 jdk 버전을 잘 신경쓰자. 

반응형

댓글