yoonjaepark / flutter_naver_login

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

PlatformException(error, lateinit property applicationContext has not been initialized, null, kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized #85

Closed DukeJeon closed 1 year ago

DukeJeon commented 1 year ago

FlutterActivity를 사용중이신 분들은 ReadMe의 FlutterFragmentActivity 로 변환하라는 문구 꼭 확인하세요.

class MainActivity: FlutterFragmentActivity()를 사용중인데

PlatformException(error, lateinit property applicationContext has not been initialized, null, kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized

해당 오류가 발생했습니다.

아래는 오류 전체 내용입니다.

I/flutter (12851): │ PlatformException(error, lateinit property applicationContext has not been initialized, null, kotlin.UninitializedPropertyAccessException: lateinit property applicationContext has not been initialized I/flutter (12851): │ at com.navercorp.nid.NaverIdLoginSDK.getApplicationContext(NaverIdLoginSDK.kt:41) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences.getCtx(EncryptedPreferences.kt:20) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences.init(EncryptedPreferences.kt:35) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences.access$init(EncryptedPreferences.kt:17) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences$encryptedPreferences$2.invoke(EncryptedPreferences.kt:30) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences$encryptedPreferences$2.invoke(EncryptedPreferences.kt:29) I/flutter (12851): │ at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences.getEncryptedPreferences(EncryptedPreferences.kt:29) I/flutter (12851): │ at com.navercorp.nid.oauth.EncryptedPreferences.get(EncryptedPreferences.kt:86) I/flutter (12851): │ at com.navercorp.nid.oauth.NidOAuthPreferencesManager.getClientId(NidOAuthPreferencesManager.kt:53) I/flutter (12851): │ at com.navercorp.nid.NaverIdLoginSDK.getState(NaverIdLoginSDK.kt:181) I/flutter (12851): │ at com.navercorp.nid.NaverIdLoginSDK.authenticate(NaverIdLoginSDK.kt:95) I/flutter (12851): │ at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.login(FlutterNaverLoginPlugin.kt:212) I/flutter (12851): │ at com.yoonjaepark.flutter_naver_login.FlutterNaverLoginPlugin.onMethodCall(FlutterNaverLoginPlugin.kt:151) I/flutter (12851): │ at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) I/flutter (12851): │ at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) I/flutter (12851): │ at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$DartMessenger(DartMessenger.java:319) I/flutter (12851): │ at io.flutter.embedding.engine.dart.-$$Lambda$DartMessenger$TsixYUB5E6FpKhMtCSQVHKE89gQ.run(Unknown Source:12) I/flutter (12851): │ at android.os.Handler.handleCallback(Handler.java:938) I/flutter (12851): │ at android.os.Handler.dispatchMessage(Handler.java:99) I/flutter (12851): │ at android.os.Looper.loopOnce(Looper.java:226) I/flutter (12851): │ at android.os.Looper.loop(Looper.java:313) I/flutter (12851): │ at android.app.ActivityThread.main(ActivityThread.java:8751) I/flutter (12851): │ at java.lang.reflect.Method.invoke(Native Method) I/flutter (12851): │ at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) I/flutter (12851): │ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) I/flutter (12851): │ )

아래는 doctor -v 내용입니다.


[✓] Flutter (Channel stable, 3.3.9, on macOS 13.0.1 22A400 darwin-x64, locale ko-KR)
    • Flutter version 3.3.9 on channel stable at /Users/duke/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (9 days ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/duke/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (3 available)
    • SC 56B (mobile) • RFCRB148T1P • android-arm64  • Android 12 (API 31)
    • macOS (desktop) • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome      • web-javascript • Google Chrome 107.0.5304.121

[✓] HTTP Host Availability
    • All required HTTP hosts are available
DukeJeon commented 1 year ago

meta-data 위치를 잘못넣어서 못찾았네요 ㅠㅠ

oovvoo commented 1 year ago

저도 같은 오류인데, application 단에 metadata 잘 집어넣었는데도 저러네요..;; 혹시나해서 액티비티쪽에도 넣어보고 했는데 여전함;;

oovvoo commented 1 year ago

image

SDK에서 인증할때 Activity 런처가 할당이 안됐네요 -_-;

oovvoo commented 1 year ago

최종적으로.. FlutterActivity => FlutterFragmentActivity 로 바꿔주니 되네요... 아-_-; 개삽질

sejun2 commented 1 year ago

최종적으로.. FlutterActivity => FlutterFragmentActivity 로 바꿔주니 되네요... 아-_-; 개삽질

덕분에 삽질을 피할 수 있었습니다. 감사드립니다.