[Unity] Gradle build failed 오류 대응 - DexArchiveMergerException
유니티 빌드 시 나오는 오류 중
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
오류에 대한 대응 방법입니다.
빌드 시 위와 같은 오류 메시지와 함께 빌드가 되지 않습니다.
위 오류는 Unity Ads 와 Unity Monetization (Unity Analytics)설정 시 발생되는 오류로 새로 만든 프로젝트가 앞에 말한 두가지 설정 후에 오류가 난다면
Player -> Project Settings -> Publishing Settings -> Minify -> Release 를 Gradle <Experimental> 로 변경해주면 됩니다.
하지만 기존의 구버전 애드몹과 애즈 등을 사용 중에 새롭게 위와 같은 오류가 발생한다면 위의 방법으로는 해결이되지 않고 위의 방법을 적용하면 새로운 또 다른 오류가 발생합니다.
이 경우에는 위의 방법말고 아래의 방법으로 대응해야 합니다.
1. 프로젝트에서 GoogleMobileAds 삭제
2. 프로젝트에서 PlayServicesResolver 삭제
3. Plugins 폴더에 구 버전의 유니티 애즈가 있다면 삭제
4. 혹시 Package Manager 에 Advertisement가 설치되어 있다면 삭제
5. GoogleMobileAds.unitypackage 를 새롭게 설치 합니다.
(최신 버전 사용. 저는 Google Mobile Ads Unity Plugin v3.17 을 사용했습니다.)
위 5가지를 확인 후 빌드를 하면 정상적으로 빌드가 됩니다.