카카오 SDK 2.0.0 업데이트 및 마이그레이션 이후 안드로이드 문제

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


안녕하세요.
kakao_flutter_sdk 2.0.0 업데이트 이후 문서에 따라 마이그레이션 진행까지 했습니다.
이후 iOS는 잘 작동하는데, 안드로이드 로그인에 문제가 있습니다. 해결에 도움을 주시면 감사하겠습니다.
*
* 디벨로퍼스 앱ID : 1278077

* 에러 로그

I/flutter ( 7838): │ PlatformException(NullPointerException, java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getFlags()' on a null object reference, Cause: null, Stacktrace: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Intent.getFlags()' on a null object reference


I/flutter ( 7838): │ 	at android.content.Intent.createChooser(Intent.java:1103)


I/flutter ( 7838): │ 	at android.content.Intent.createChooser(Intent.java:1063)


I/flutter ( 7838): │ 	at com.kakao.sdk.flutter.common.TalkValidator.resolveIntent(TalkValidator.kt:36)


I/flutter ( 7838): │ 	at com.kakao.sdk.flutter.common.CommonHostApiImpl.isKakaoTalkAvailable(CommonHostApiImpl.kt:41)


I/flutter ( 7838): │ 	at com.kakao.sdk.flutter.common.CommonHostApi$Companion.setUp$lambda$2$0(CommonMessages.g.kt:201)


I/flutter ( 7838): │ 	at com.kakao.sdk.flutter.common.CommonHostApi$Companion.$r8$lambda$KWXmqAvmNllaY-EjsNX99SaF2y4(Unknown Source:0)


I/flutter ( 7838): │ 	at com.kakao.sdk.flutter.common.CommonHostApi$Companion$$ExternalSyntheticLambda3.onMessage(D8$$SyntheticClass:0)


I/flutter ( 7838): │ 	at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler.onMessage(BasicMessageChannel.java:261)


I/flutter ( 7838): │ 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:286)


I/flutter ( 7838): │ 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:313)


I/flutter ( 7838): │ 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)


I/flutter ( 7838): │ 	at android.os.Handler.handleCallback(Handler.java:995)


I/flutter ( 7838): │ 	at android.os.Handler.dispatchMessage(Handler.java:103)


I/flutter ( 7838): │ 	at android.os.Looper.loopOnce(Looper.java:248)


I/flutter ( 7838): │ 	at android.os.Looper.loop(Looper.java:338)


I/flutter ( 7838): │ 	at android.app.ActivityThread.main(ActivityThread.java:9067)


I/flutter ( 7838): │ 	at java.lang.reflect.Method.invoke(Native Method)


I/flutter ( 7838): │ 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)


I/flutter ( 7838): │ 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)


I/flutter ( 7838): │ , null)


* androidManifest

 <!-- 카카오 로그인 커스텀 URL 스킴 설정 -->

         <activity android:name="com.kakao.sdk.flutter.auth.AuthCodeCustomTabsActivity"

android:exported="true">

            <intent-filter android:label="uhheung_kakao_auth">

                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />

                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="kakao{nativecode생략}" android:host="oauth" />

            </intent-filter>

        </activity>

안녕하세요

첨부해주신 AndroidManifest.xml 파일을 보면 com.kakao.sdk.flutter.auth.AuthCodeCustomTabsActivity 를 등록해주셨는데요, 2.0.0 버전부터 com.kakao.sdk.flutter.auth.AuthCodeHandlerActivity 로 변경되었습니다.

v1
com.kakao.sdk.flutter.AuthCodeCustomTabsActivity

v2
com.kakao.sdk.flutter.auth.AuthCodeHandlerActivity

마이그레이션 가이드 참고하셔서 수정하셨을 때도 에러가 발생하는지 확인 부탁드리겠습니다.

2개의 좋아요

답변 감사합니다!

이것저것 바꿔보다가 잘못된 버전 파일을 첨부한 것 같습니다. 죄송합니다.
다음과 같이 설정되어 있지만, 같은 오류가 발생합니다.

<activity

            android:name="com.kakao.sdk.flutter.auth.AuthCodeHandlerActivity"

android:exported="true">

            <intent-filter android:label="uhheung_kakao_auth">

                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />

                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="--생략" android:host="oauth" />

            </intent-filter>

        </activity>

내부적으로 코드를 확인해보았는데요, 안드로이드 환경에서 카카오톡이 설치되어있지 않은 경우에 제보주신 에러가 발생하는 것 확인했습니다. 이로 인해 isKakaoTalkInstalled()ShareClient.isKakaoTalkSharingAvailable() 호출 시 제보주신 에러가 발생하고 있습니다.

제보주신 이슈는 빠르게 수정해서 배포할 수 있도록 하겠습니다.

감사합니다.

@그믕 안녕하세요. 제보주신 이슈 수정해서 2.0.0+1 버전 배포되었습니다.

번거로우시더라도 2.0.0+1 버전으로 업데이트 부탁드리겠습니다.

이슈 제보주셔서 다시 한번 감사드립니다!

2개의 좋아요

@tony.mb 업데이트하고 잘 작동되는것까지 확인했습니다. 빠른 대응 감사합니다!

1개의 좋아요