[Unity]안드로이드 빌드 에러 commandinvokationfailure failed to update android sdk package list
유니티 안드로이드 빌드 시 다음과 같은 에러가 나오는 현상
'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를 재 설치해라, 플러그인이 구버전이라 그렇다 등등 많다.
그런데 나는 이 모든것을 다 해도 되지가 않아서 삽질을 좀 더 했다.
유니티 이슈트래커에서 나랑 똑같은 증상을 발견했다.
이 글에 따르면 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/
이 포럼에서 나랑 비슷한 문제를 겪는 사람들이 있어서 참고해서 시도해 보았다.
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 버전을 잘 신경쓰자.