본문 바로가기

공부하자/Unity3D

빌드시 AdMob plugin 과 googleplay plugin 충돌 현상 해결

https://github.com/guillermocalvo/admob-unity-plugin


AdMob 이 유니티 플러그인으로 나온게 있길래(사용하기 편하고 광고 위치를 다양하게 설정할 수 있다)


기존에 설치한것을 지우고 다시 적용한 뒤에 유니티에서 빌드를 했더니 에러가똭!!


<에러내용>

error building player: commandinvokationfailure: unable to convert classes into dex format. see the console for details.

..어쩌구


찾아보니 class가 중복되어 있을때 생기는 현상이란다.

기존 프로젝트에는 구글 플레이밖에 적용해 놓은게 없기 때문에 문제는 바로 이것.

그래서 class 파일이 들어있는 jar 파일들을 뒤져봤다. 

그랬더니 역시나 google-play-services_lib\ libs\google-play-services 에 ads 클래스들이 있었다.


정리하면 adMob 플러그인을 임포트하면 Plugins\Android 폴더에 GoogleAdMobAdsSdk-6.4.1.jar 파일이 생기는데

이 파일과 동일한 내용의 클래스들이 구글 플레이 라이브러리에도 있어서 생기는 문제란 얘기다.


그래서 구글 플레이 라이브러리에 있는 ads 하위 항목들을 모두 삭제하고 빌드하니 해결!!

(알집으로 열어서 삭제했는데 헤더 파일 손상되었다고 오류 막 뜨는데 빌드는 잘 되더라...해결 된거...겠지?;;)