Android JAR 파일에 ProGuard 적용중 can't find superclass or interface

ProGuard, version 4.7
Reading program jar [D:\KabodStudio\HeavenSword_Mobile\ProgramSource\DuokuTest\UnityDuokuTest\Assets\Plugins\Android\DKPlugin.jar]
Reading library jar [D:\adt-bundle-windows-x86_64-20130219\sdk\platforms\android-17\android.jar]
Reading library jar [D:\adt-bundle-windows-x86_64-20130219\sdk\extras\android\support\v4\android-support-v4.jar]
Warning: com.wwforever.plugindk.MainActivity: can't find superclass or interface com.unity3d.player.UnityPlayerActivity
Warning: com.wwforever.plugindk.MainActivity$3: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnAppVersionUpdateListener
Warning: com.wwforever.plugindk.MainActivity$4$1: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnLoginProcessListener
Warning: com.wwforever.plugindk.MainActivity$5: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnLoginPageDestroyedListener
Warning: com.wwforever.plugindk.MainActivity$6: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnUserLogoutLister
Warning: com.wwforever.plugindk.MainActivity$7: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnSessionInvalidListener
Warning: com.wwforever.plugindk.MainActivity$8: can't find superclass or interface com.duoku.platform.DkProCallbackListener$OnExitChargeCenterListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.unity3d.player.UnityPlayerActivity
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.unity3d.player.UnityPlayerActivity
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.unity3d.player.UnityPlayerActivity
Warning: com.wwforever.plugindk.MainActivity: can't find referenced method 'void runOnUiThread(java.lang.Runnable)' in class com.wwforever.plugindk.MainActivity
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener$OnAppVersionUpdateListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener$OnExitChargeCenterListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener$OnLoginPageDestroyedListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener$OnSessionInvalidListener
Warning: com.wwforever.plugindk.MainActivity: can't find referenced class com.duoku.platform.DkProCallbackListener$OnUserLogoutLister
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings$GameCategory
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings$GameCategory
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$1: can't find referenced class com.duoku.platform.DkPlatformSettings
Warning: com.wwforever.plugindk.MainActivity$2: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$2: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$2: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$2: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$2: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$3: can't find referenced class com.duoku.platform.DkProCallbackListener$OnAppVersionUpdateListener
Warning: com.wwforever.plugindk.MainActivity$3: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$3: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$3: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$3: can't find referenced class com.duoku.platform.DkProCallbackListener$OnAppVersionUpdateListener
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.duoku.platform.DkPlatform
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.duoku.platform.DkProCallbackListener$OnLoginProcessListener
Warning: com.wwforever.plugindk.MainActivity$4: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$4$1: can't find referenced class com.duoku.platform.DkProCallbackListener$OnLoginProcessListener
Warning: com.wwforever.plugindk.MainActivity$4$1: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$4$1: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$4$1: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$5: can't find referenced class com.duoku.platform.DkProCallbackListener$OnLoginPageDestroyedListener
Warning: com.wwforever.plugindk.MainActivity$5: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$5: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$5: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$6: can't find referenced class com.duoku.platform.DkProCallbackListener$OnUserLogoutLister
Warning: com.wwforever.plugindk.MainActivity$6: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$6: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$6: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$7: can't find referenced class com.duoku.platform.DkProCallbackListener$OnSessionInvalidListener
Warning: com.wwforever.plugindk.MainActivity$7: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: com.wwforever.plugindk.MainActivity$8: can't find referenced class com.duoku.platform.DkProCallbackListener$OnExitChargeCenterListener
Warning: com.wwforever.plugindk.MainActivity$8: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$8: can't find referenced class com.unity3d.player.UnityPlayer
Warning: com.wwforever.plugindk.MainActivity$8: can't find referenced class com.duoku.platform.DkProCallbackListener
Warning: there were 75 unresolved references to classes or interfaces.
         You may need to specify additional library jars (using '-libraryjars').
Warning: there were 1 unresolved references to program class members.
         Your input classes appear to be inconsistent.
         You may need to recompile them and try again.
         Alternatively, you may have to specify the option
         '-dontskipnonpubliclibraryclassmembers'.
Please correct the above warnings first.

 유니티3D 안드로이드 바이두 Duoku 플러그인프로가드 적용중 위와같은 에러가 발생했습니다.

can't find superclass or interface 와 can't find referenced class 에러인데요, 기존에 메소드를 못 찾는 에러와 비슷합니다. 하지만 이건 프로가드 적용 전에 에러가 발생하는 객체를 못 찾는 것이라 그 객체를 포함하고 있는 JAR 파일을 Input/Output 설정에서 추가해줘야합니다.

-libraryjars 'C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar'
-libraryjars UnityDuokuTest\Assets\Plugins\Android\DkPlatformSdk.jar

 유니티3D의 안드로이드 플러그인 작업에 필요한 classes.jar와 바이두 Duoku SDK의 JAR 파일인 DkPlatformSdk.jar 를 그림과 같이 프로가드 GUI로 추가하거나 위 내용과 같이 설정파일에 직접 추가해줍니다.

댓글

이 블로그의 인기 게시물

CMake Windows에 설치하기

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

크로스 스레드 작업이 잘못되었습니다. xxx 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스되었습니다