본문 바로가기

프로그래밍/안드로이드[Android]

KakaoSDK$AlreadyInitializedException 에러 해결 방법 [카카오 로그인 서비스]



안드로이드 개발 시 카카오 로그인 서비스를 구현할 때 로그아웃을 하거나 앱 연결 해제를 할 때 다음과 같은 에러가 발생하는 경우가 있습니다.

 

java.lang.RuntimeException:Unable to start activity ComponentInfo{test.com.login/test.com.login.LoginActivity}: 
com.kakao.auth.KakaoSDK$AlreadyInitializedException

 

 

 

원인은 다음과 같았습니다.

 

KakaoSDK.init을 앱 시작 시 한 번만 호출해야 하는데 중복으로 호출하는 경우 다음과 같은 에러가 발생한 경우였습니다.

 

해결방법은 간단합니다.

 

기존에 KakaoSDK.init() 부분을 찾습니다.

KakaoSDK.init(new KakaoSDKAdapter());

 

 

해당 부분을 다음과 같이 변경합니다.

if (KakaoSDK.getAdapter() == null) {
    KakaoSDK.init(new GlobalApplication.KakaoSDKAdapter());
}


이렇게 하면 로그아웃을 하거나 앱 연결 해제를 하고

 

다시 LoginActivity를 이동할 때 KakaoSDK.init의 중복 실행을 회피할 수 있습니다.

 

감사합니다.