카카오 SDK 넣고 빌드한 바이너리 실행 시 약 50% 확률로 아래와 같은 exception이 발생합니다.
java.lang.NoClassDefFoundError: my.project.test.KakaoSDKAdapter$2
at my.project.test.KakaoSDKAdapter.getApplicationConfig(KakaoSDKAdapter.java:50)
at com.kakao.auth.KakaoSDK.init(KakaoSDK.java:44)
at my.project.test.TestApplication.onCreate(TestApplication.java:42)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4428)
at android.app.ActivityThread.access$1500(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5116)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
at dalvik.system.NativeStart.main(Native Method)
my.project.test.KakaoSDKAdapter.getApplicationConfig(KakaoSDKAdapter.java:50) 부분의 코드는
IApplicationConfig 를 new 로 생성해 주는 부분입니다.
이 문제가 발생했을 때 프로젝트 clean → build → run 하면 어쩔땐 실행 되고,
어쩔땐 같은 문제 발생하고 그렇네요…
Android studio 에서 개발하고 있고,
project build.gradle :
subprojects {
repositories {
mavenCentral()
maven { url ‘http://devrepo.kakao.com:8088/nexus/content/groups/public/’ }
}
}
app build.gradle :
compile group: ‘com.kakao.sdk’, name: ‘kakaotalk’, version: ‘1.1.4’
compile group: ‘com.kakao.sdk’, name: ‘kakaolink’, version: ‘1.1.4’
이와 같이 kakao 관련 라이브러리 포함해서 사용중입니다.