Android onResume 시, SDK 내에 null Pointer exception이 간헐적으로 발생합니다

1.5.1 버젼 연동하여
App onPause → 일정 시간 지난 뒤에 App 호출하여 onResume 으로 들어오는 경우,
간헐적으로 Kakao SDK 에서 intent.getAction() null pointer exception이 발생합니다.
확인 부탁드립니다.

조금 더 자세한 크래시 로그 첨부해주실 수 있나요? 그리고 액티비티에서 카카오 SDK 사용하는 부분이 있다면 그 부분도 가능한 첨부해주시면 좀 더 원인파악하는데 도움이 될 것 같아요~

1개의 좋아요

보시면 SDK 내부 onResume 에서 getIntent getAction 값이 null인 경우에 대한 예외처리가 들어가면 될 것으로 보입니다
앱 내부에서 따로 SDK쪽 API를 호출하다 크래시 나는 경우는 아니구요.

위에 말씀드린대로 onPause->onResume 호출시 KaKao SDK의
onActivityResumed 를 타면서 하기 Kakao SDK 내부 로직에서 crash 발생합니다.
init 메서드는 가이드대로 Application onCreate 내에서 호출되고 있구요.

// Checks if app hash been relaunched with single task launch mode, while session state is not reset.
private static boolean needsToResetSession(final Activity activity, final Session session) {
    if (!Intent.ACTION_MAIN.equals(activity.getIntent().getAction())) return false;
    if (!session.isClosed()) return false;
    if (session.getRequestType() == null) return false;
    return true;
}

하기에 앱 크래시 로그입니다.
11-07 09:37:25.457 22981-22981/ E/AndroidRuntime: FATAL EXCEPTION: main
Process: , PID: 22981
java.lang.RuntimeException: Unable to resume activity {발생 클래스}: java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String android.content.Intent.getAction()’ on a null object reference
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3791)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3832)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at 발생 클래스$7.
at android.app.Activity.runOnUiThread(Activity.java:6045)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String android.content.Intent.getAction()’ on a null object reference
at com.kakao.auth.KakaoSDK.needsToResetSession(KakaoSDK.java:128)
at com.kakao.auth.KakaoSDK.access$100(KakaoSDK.java:35)
at com.kakao.auth.KakaoSDK$1.onActivityResumed(KakaoSDK.java:81)
at android.app.Application.dispatchActivityResumed(Application.java:240)
at android.app.Activity.onResume(Activity.java:1331)
at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:485)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1277)
at android.app.Activity.performResume(Activity.java:7088)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3768)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3832)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.Activity.runOnUiThread(Activity.java:6045)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

1개의 좋아요

이 이슈는 수정되지 않았나요? 1.14.0 버전에서 동일한 이슈가 발생합니다.

@anon81369599 혹시 해당 이슈는 SDK 수정 없이 일어나지 않게 하는 방법이 있나요?