Android java.lang.IllegalArgumentException: already added:

 안드로이드 작업중 제목과 같은 에러가 발생할 수 있습니다. 저는 유니티3D 안드로이드에 페이스북 연동중에 빌드시 DEX부분에서 실패를 하네요.

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/facebook/android/R$attr;
at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
at com.android.dx.command.dexer.Main.processClass(Main.java:490)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
at com.android.dx.command.dexer.Main.access$400(Main.java:67)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:191)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:123)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
at com.android.dx.command.dexer.Main.processOne(Main.java:422)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
at com.android.dx.command.dexer.Main.run(Main.java:209)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at SDKMain.main(SDKMain.java:88)
1 error; aborting

 com/facebook/android/R 의 attr이 이미 추가되었다는 에러군요. 현재 페이스북 연동중 다른 에러 때문에 이 에러가 발생했는데 위와같이 UnityAndroidFacebookJar 라는 안로이드 플러그인을 익스포트할 때 일부러 FacebookSDK도 추가해서 해줬더니 발생했던 에러였습니다. 페이스북SDK는 제외하고 안드로이드 플러그인만 익스포트 해주면 이 에러는 발생하지 않더군요.

 아마 이런 상황이 아니더라도 다른 것도 중복될 시 발생할 수 있는 에러인듯하네요. 그때는 저 붉은 부분을 보고 확인하시면 되겠습니다.

 뭐, 페이스북SDK까지 포함해 익스포트했던 jar 플러그인은 이미 생성 실패한 잘못된 파일이었네요. 생성되다 말았는지 파일은 있긴 있던데...

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.