밍쯔와 안작고 안귀여운 에러들🖤

[Android] Session is not initialized. Call KakaoSDK#init first. 본문

Develop/Android | iOS

[Android] Session is not initialized. Call KakaoSDK#init first.

밍쯔 2022. 11. 21. 15:05

targetSdk 31로 올리고, 카카오SDK 버전도 새롭게 올려주고 난 뒤,,,,

뜬금없이 초기 화면에서 에러가 발생했다..! ((어이없어))

 

검색해보니 초기화 과정에서 문제가 생긴거라던데, 계속 문제가 없다가

갑자기 발생한게 뭔가 업데이트 올리면서 수면 위로 드러난 문제인 것 같다. 

 

 

(원인)

카카오 네이티브 모듈이 초기화 되어 패키지로 등록되기 전에

다른 네이티브 모듈이 쓰레드를 생성하여 resume시키는 문제였습니다.

 

KakaoSDK 에서 안드로이드 액티비티 생명주기 중에,

onResume 단계에서 session을 확인하고 설정되어있지 않으면 예외를 발생시킵니다.

 

(수정전)

    import com.kakao.sdk.common.KakaoSdk;
    
    public void onCreate() {
        super.onCreate();
		...
        KakaoSdk.init(this, getString(R.string.kakao_app_key));
    }

(수정후)

import com.kakao.auth.KakaoSDK;
import com.(projects).KakaoSDKAdapter;

public void onCreate() {
        super.onCreate();
        
        if (KakaoSDK.getAdapter() == null) {
            KakaoSDK.init(new KakaoSDKAdapter(this));
            
        ...
        }

 

 

[참고]

https://github.com/react-native-seoul/react-native-kakao-login/issues/91

 

앱 실행 직후 종종 crash 발생 - llegalStateException: Session is not initialized. Call KakaoSDK#init first. · Issue #91

Version of kakao-login libraries 2.1.2 에 Kakao SDK 1.25.0 버전을 사용합니다. Version of react-native 0.61.4 Platforms you faced the error (IOS or Android or both?) Android Expected behavior 앱 실행 후 스플래쉬 화면 ...

github.com