Prosto
유니티 Build Error - Unable to convert classes into dex format. See the Console for details. 본문
유니티 Build Error - Unable to convert classes into dex format. See the Console for details.
Prosto 2017. 6. 7. 23:04안녕하세요.
유니티 빌드 시 발생할 수 있는 에러,
Unable to convert classes into dex format. See the Console for details.
에러에 대한 해결 방법을 포스팅합니다.
콘솔에 찍히는 에러 로그는
CommandInvokationFailure : Unable to convert classes into dex format.
C:\Program Files/Java/jdk1.8.0_111\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:\Users\UserName\AppData\Local\Android\android-sdk\tools" -Dfile.encoding=UTF8 -jar
~~~같은 식으로 찍힙니다.
이 에러는 일반적으로, 동일한(같은) 기능의 jar(aar) 파일이 두 개 들어가있는 경우 발생하는 에러입니다.
(다른 경우도 있을 수 있겠지만 대표적인 경우가 이러한 경우입니다.)
플러그인(Plugins) 폴더 하위에 있는 것들 중 중복되는 게 있는지 확인해보시면 좋겠네요.
빌드 시 실패한 모습
Build failure
Unable to convert classes into dex format. See the Console for details.
그리고 Console에서 나오는 오류 내용
이 오류에 대한 해결 방법 중 첫 번째.
Google Play Game Services (GPGS)의 경우는
여러 버전이 들어간 경우에 발생할 수 있습니다.
예를 들면
supprot-v4-24.0.0도 있고,
support-v7-24.0.0도 있는 경우나
play-service-ads-10.0.1과 같은 play-service-abcd 같은 게 중복적으로 있는 경우 문제가 됩니다.
중복적으로 있다면, 하나만 남겨둬야 합니다.
이와 마찬가지로 참조한 플러그인(Plugins 폴더 하위)
중 .jar이나 .aar 파일들 중 중복되는 게 있는지 확인해보셔야 합니다.
(같은 플랫폼에서 지원하는 경우 aar, jar이 중복되는 경우가 있습니다. 예를 들면 GPGS와 Everyplay라든지, admob이라든지.. 모두 google인..)
위의 내용이 일반적인 오류 해결 방법이고,
이 외에 이번에 같은 오류를 다른 케이스로 겪은 내용으로는
맥에서 플러그인을 넣고 테스트 중 임시파일이 생성된 경우입니다.
(이번에 애드몹(admob)을 새로 추가하며 확인 + 맥에서 빌드 후 다시 윈도우에서 안드로이드 apk를 빌드할 때 오류 발생)
윈도우에서 확인 시 숨김 파일로 되어있는데 이렇게 임시파일이 존재해도
빌드 시 같은 파일이 존재하여 제대로 빌드가 안 되는 것을 확인했습니다.
임시 파일들을 모두 지워줍니다.
(사실 궁극적으로는 .jar이나 .aar의 임시파일을 삭제해야 겠지만, 모두 지워줍니다.)
위에서 임시파일들을 제거하면 이렇게 파일들이 구성되겠죠?
Plugins 하위에 생성됐던 임시파일들은 모두 지워줍니다.
GoogleMobileAdsPlugin 하위에도 존재하네요.
이 임시파일들도 지워줍니다.
그리고 여기가 가장 중요하겠지만,
GoogleMobileAdsPlugin 하위 libs 폴더에
unity-plugin-library.jar 파일이 임시파일로 생성됐죠?
아마도 이 파일이 빌드할 때 중복으로 인식되지 않았을지 싶습니다.
위와 마찬가지로 제거해줍니다.
(그 외에 다른 임시파일들이 있다면 제거해주세요. 위에 보셨던 것처럼 언더바(_) + 같은 이름으로 되어있습니다.)
그리고 다시 빌드해보니
빌드 중 문제가 되었던
dex format. 부분이 정상적으로 지나갔습니다.
(빌드도 성공적으로 완료됐습니다만 사진을 안 찍었네요.)
지금까지 위와 같은 오류를 봤을 때는 위에서 말씀 드린 첫 번째의 경우가 대부분이었고,
이번에 Mac에서 빌드한 후 Windows로 옮겨오니 설명한 것과 같은 오류가 발생했습니다.
같은 문제가 발생하신다면 천천히 확인해보시고 해결되신다면 좋겠네요.
(만약 안 된다면 역시 구글링을 해보셔야 하지 않을지...)
위와 같은 오류로 안 되던 분들께 도움이 되었으면 좋겠습니다.
'Programing > Unity 3D' 카테고리의 다른 글
유니티 여러 버전 설치(사용하기) (0) | 2017.06.23 |
---|---|
유니티 페이스북SDK Error OpenSSL, JDK 환경변수 등록 - Your Android setup is not correct. See Settings in Facebook menu (2) | 2017.06.01 |
도넛킹(Donut King) Ver1.2 - 모바일 퍼즐 게임(App) (0) | 2017.05.08 |
Awake, Start, OnEnable, OnDisable - 유니티 스크립트 (0) | 2017.05.01 |
도넛킹(Donut King) - 모바일 퍼즐 게임(App) (2) | 2017.04.18 |