Unity3D 중국 마켓 SDK 4개 통합중 already added: Landroid/net/http/SslError

Error building Player: Exception: dx (invokation failed)
ERROR: unknown error
cmd:dx --dex --verbose --output=bin/classes.dex bin/classes.jar plugins
stdout;
processing archive bin\classes.jar...
processing com/unity3d/player/a$1.class...
...
processing archive plugins\.\alipay_msp.jar...
ignored resource META-INF/MANIFEST.MF
processing com/alipay/android/app/IRemoteServiceCallback$Stub$Proxy.class...
...
processing archive plugins\.\android-support-v4.jar...
ignored resource META-INF/MANIFEST.MF
processing android/support/v4/widget/CursorAdapter$1.class...
...
processing archive plugins\.\android_api.jar...
ignored resource META-INF/MANIFEST.MF
processing com/baidu/mobstat/a.class...
...
processing archive plugins\.\DkPlatformSdk.jar...
ignored resource META-INF/MANIFEST.MF
processing com/duoku/platform/DkErrorCode.class...
...
processing archive plugins\.\KabodChinaPlugins.jar...
ignored resource META-INF/MANIFEST.MF
processing com/kabod/pluginchina91dkuc/GameNollHandler.class...
...
processing archive plugins\.\NdComPlatform.jar...
ignored resource META-INF/MANIFEST.MF
processing com/nd/commplatform/NdAppPromotionFlipperWindowController$1.class...
...
processing archive plugins\.\NollGame-SDK-1.0-20130423.jar...
ignored resource META-INF/MANIFEST.MF
processing com/nollgame/net/NollGame.class...
...
processing archive plugins\.\UCGameSDK2.3.4.jar...
ignored resource META-INF/MANIFEST.MF
processing android/net/http/SslError.class...
processing android/webkit/WebViewClient.class...
processing cn/uc/gamesdk/GameUserLoginResult.class...
...
ignored resource assets/ucgamesdk/config/bottom_menu.json
...
processing archive plugins\.\weibo.sdk.android.sso.jar...
ignored resource META-INF/MANIFEST.MF
processing com/sina/sso/RemoteSSO$Stub$Proxy.class...
processing com/sina/sso/RemoteSSO$Stub.class...
processing com/sina/sso/RemoteSSO.class...
processing com/weibo/sdk/android/demo/R$array.class...
...
processing android/net/http/SslError.class...
stderr:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/net/http/SslError;
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

 위 스샷과 같이 중국 마켓 GameNoll, 91, 바이두 Duoku, UCGame 4개의 SDK를 하나의 유니티3D 안드로이드 플러그인으로 통합중 위 로그와 같이 에러가 발생했습니다. 로그가 2000라인이 넘네요 줄이고 줄였는데요, 붉은색으로 표시한 부분이 중요합니다.

 UCGame, 바이두 Duoku가 충돌중인데 먼저 문제를 일으키는 UCGameSDK2.3.4.jar 와 바이두 SDK에 있는 weibo.sdk.android.sso.jar를 압축 해제해보면 위와 같이 android\net\http\SslError.class 파일이 존재합니다. 왼쪽이 UCGame것이고 오른쪽이 바이두 Duoku의 weibo.sdk.android.sso.jar에 있는건데 용량이 다릅니다.

 완벽한 해결책인지는 모르겠지만, 중국측에 문의하면 답변이 언제 올지도 모르고 둘중에 하나를 빼야하는데 일단 UCGame SDK는 뺄 수 없어 바이두 SDK에 포함된 weibo.sdk.android.sso.jar 를 빼고 빌드하니 잘 됩니다. 실제로 바이두 문서도 다시보니 weibo.sdk.android.sso.jar는 사용하지 않고 있네요.

댓글

이 블로그의 인기 게시물

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

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

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