yoonjaepark / flutter_naver_login

A Flutter plugin for Naver Sign In.
BSD 2-Clause "Simplified" License
46 stars 69 forks source link

안드로이드에서만.. 로그인이 안됩니다. lateinit property launcher has not been initialized #86

Open langverse-ryu opened 1 year ago

langverse-ryu commented 1 year ago

잘 썼었는데.. 안드로이드에서 로그인이 안됩니다. iOS는 잘되고요.

참고로.. 사용 버전은 1.7.0입니다. Flutter 3.7.0, Dart 2.19.0, DevTools 2.20.1

자료를 찾아봐도 없네요. 혹시 동일 문제 해결하신분 있나요ㅠㅠ ChatGPT도 속 시원한 해결책을 내놓지 못하네요.

E/MethodChannel#flutter_naver_login(21005): Failed to handle method call E/MethodChannel#flutter_naver_login(21005): kotlin.UninitializedPropertyAccessException: lateinit property launcher has not been initialized E/MethodChannel#flutter_naver_login(21005): at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.login(FlutterNaverLoginPlugin.kt:212) E/MethodChannel#flutter_naver_login(21005): at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.onMethodCall(FlutterNaverLoginPlugin.kt:151) E/MethodChannel#flutter_naver_login(21005): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258) E/MethodChannel#flutter_naver_login(21005): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/MethodChannel#flutter_naver_login(21005): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) E/MethodChannel#flutter_naver_login(21005): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/MethodChannel#flutter_naver_login(21005): at android.os.Handler.handleCallback(Handler.java:938) E/MethodChannel#flutter_naver_login(21005): at android.os.Handler.dispatchMessage(Handler.java:99) E/MethodChannel#flutter_naver_login(21005): at android.os.Looper.loopOnce(Looper.java:201) E/MethodChannel#flutter_naver_login(21005): at android.os.Looper.loop(Looper.java:288) E/MethodChannel#flutter_naver_login(21005): at android.app.ActivityThread.main(ActivityThread.java:7839) E/MethodChannel#flutter_naver_login(21005): at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#flutter_naver_login(21005): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) E/MethodChannel#flutter_naver_login(21005): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) I/flutter (21005): PlatformException(error, lateinit property launcher has not been initialized, null, kotlin.UninitializedPropertyAccessException: lateinit property launcher has not been initialized I/flutter (21005): at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.login(FlutterNaverLoginPlugin.kt:212) I/flutter (21005): at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.onMethodCall(FlutterNaverLoginPlugin.kt:151) I/flutter (21005): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258) I/flutter (21005): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) I/flutter (21005): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) I/flutter (21005): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) I/flutter (21005): at android.os.Handler.handleCallback(Handler.java:938) I/flutter (21005): at android.os.Handler.dispatchMessage(Handler.java:99) I/flutter (21005): at android.os.Looper.loopOnce(Looper.java:201) I/flutter (21005): at android.os.Looper.loop(Looper.java:288) I/flutter (21005): at android.app.ActivityThread.main(ActivityThread.java:7839) I/flutter (21005): at java.lang.reflect.Method.invoke(Native Method) I/flutter (21005): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) I/flutter (21005): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) I/flutter (21005): )

langverse-ryu commented 1 year ago

검색이 잘 안되서 그렇지 오래전부터 발생하던 오류였네요.

android 밑에 있는 MainActivity 파일 수정하면 됩니다. FlutterActivity --> FlutterFragmentActivity

class MainActivity: FlutterActivity() 
class MainActivity: FlutterFragmentActivity() 

일반적으론 저거만 변경해도 잘 됩니다.. 전 GoogleAds 때문에 좀 애먹었습니다.^^;