Flutter-geolocator: λ³„λ„μ˜ κ²©λ¦¬μ—μ„œ μœ„μΉ˜λ₯Ό κ°€μ Έμ˜¬ λ•Œ java.lang.NullPointerException

에 λ§Œλ“  2020λ…„ 03μ›” 18일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: Baseflow/flutter-geolocator

πŸ› 버그 λ³΄κ³ μ„œ

ν”ŒλŸ¬κ·ΈμΈμ΄ workmanagerλ₯Ό μ‚¬μš©ν•˜μ—¬ λ³„λ„μ˜ λΆ„λ¦¬μ—μ„œ μ‹€ν–‰λ˜λ„λ‘ λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€μ—μ„œ μœ„μΉ˜λ₯Ό κ°€μ Έ

Failed to handle method call
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

λ‹€μŒμ€ μŠ€νƒ μΆ”μ μž…λ‹ˆλ‹€.

E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234): Failed to handle method call
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.google.android.gms.common.GooglePlayServicesUtilLight.isGooglePlayServicesAvailable(Unknown Source:12)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.google.android.gms.common.GoogleApiAvailabilityLight.isGooglePlayServicesAvailable(Unknown Source:5)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.google.android.gms.common.GoogleApiAvailability.isGooglePlayServicesAvailable(Unknown Source:94)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.google.android.gms.common.GoogleApiAvailabilityLight.isGooglePlayServicesAvailable(Unknown Source:3)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.google.android.gms.common.GoogleApiAvailability.isGooglePlayServicesAvailable(Unknown Source:93)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.baseflow.googleapiavailability.GoogleApiAvailabilityPlugin.onMethodCall(GoogleApiAvailabilityPlugin.java:105)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:231)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:93)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:642)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at android.os.MessageQueue.next(MessageQueue.java:336)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at android.os.Looper.loop(Looper.java:174)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at android.app.ActivityThread.main(ActivityThread.java:7356)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/MethodChannel#flutter.baseflow.com/google_api_availability/methods( 5234):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

볡제 단계

문제λ₯Ό μž¬ν˜„ν•˜κΈ° μœ„ν•΄ μƒ˜ν”Œ 앱을 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€ : https://github.com/estevez-dev/sample_flutter_app
Gitpodμ—μ„œ μ‹€ν–‰λ˜λ„λ‘ 미리 κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. ν”Œλ‘œνŒ… λ²„νŠΌμ„ νƒ­ν•˜μ—¬ λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…μ„ μ‹œμž‘ν•˜λ©΄ getCurrentPosition μ˜ˆμ™Έκ°€ λ°œμƒν•©λ‹ˆλ‹€.
이 μ‘μš© ν”„λ‘œκ·Έλž¨μ€μ—†λŠ” μš”μ²­μ— μœ„μΉ˜ κΆŒν•œ, 당신은 μ•ˆλ“œλ‘œμ΄λ“œ μ„€μ •μ—μ„œ μˆ˜λ™μœΌλ‘œ ν—ˆμš© ν•  ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€.

ꡬ성

ν”ŒλŸ¬κ·ΈμΈ 버전 : 5.3.0

ν”Œλž«νΌ:

  • [] : iphone : iOS
  • [x] : λ‘œλ΄‡ : Android
android in progress bug

λͺ¨λ“  6 λŒ“κΈ€

이 λ¬Έμ œμ™€ κ΄‘λ²”μœ„ν•œ μ½”λ“œ μƒ˜ν”Œ 및 였λ₯˜ μ„€λͺ…을 μ œμΆœν•΄ μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€. 이 문제λ₯Ό μ‘°μ‚¬ν•˜κ³  곧 μˆ˜μ •ν•˜λ„λ‘ λ…Έλ ₯ν•˜κ² μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ 해결책을 μ°ΎμœΌμ‹­λ‹ˆκΉŒ?

@ walide67 , 아직 해결책이 μ—†μŠ΅λ‹ˆλ‹€.

@ walide67 , 아직 해결책이 μ—†μŠ΅λ‹ˆλ‹€.

ν”ŒλŸ¬ν„°λ‘œ backgrounf λ˜λŠ” μ „κ²½μ—μ„œ μœ„μΉ˜λ₯Ό μΆ”μ ν•˜λŠ” μ†”λ£¨μ…˜μ΄ μžˆμŠ΅λ‹ˆκΉŒ?
제 일이 λ©ˆμ·„μœΌλ‹ˆ λ„μ™€μ£Όμ„Έμš”

이 λ¬Έμ œλŠ” 이제 ν•΄κ²°λ˜μ–΄μ•Όν•©λ‹ˆλ‹€. null 포인터 μ˜ˆμ™Έλ₯Ό ν•΄κ²°ν•˜λŠ” google_api_availability ν”ŒλŸ¬κ·ΈμΈ ( geolocator 속됨)에 λŒ€ν•œ ν•«ν”½μŠ€λ₯Ό λ¦΄λ¦¬μŠ€ν–ˆμŠ΅λ‹ˆλ‹€.

google_api_availability κ°€ ν•«ν”½μŠ€λ‘œ μΆœμ‹œλ˜μ—ˆμœΌλ―€λ‘œ μžλ™μœΌλ‘œ μ„ νƒλ˜μ–΄μ•Όν•˜μ§€λ§Œ ν™•μ‹€ν•˜κ²Œν•˜λ €λ©΄ geolocator 버전 5.3.1둜 μ—…λ°μ΄νŠΈν•˜μ‹­μ‹œμ˜€.

μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€! κ°μ‚¬ν•©λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰