react-native-geolocation-service
react-native-geolocation-service copied to clipboard
java.lang.RuntimeException when calling getCurrentPosition
Hi,
I'm trying to use it for the first time and I am getting this odd error:
2022-08-24 13:10:25.527 28128-28218/:ReactNative: Exception in native call
java.lang.RuntimeException: Could not invoke RNFusedLocation.getCurrentPosition
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:383)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NoSuchFieldError: No field NO_OPTIONS of type Lcom/google/android/gms/common/api/Api$ApiOptions$NoOptions; in class Lcom/google/android/gms/common/api/Api$ApiOptions; or its superclasses (declaration of 'com.google.android.gms.common.api.Api$ApiOptions' appears in /data/app/com.mitel.one.android-AEmLc2vSgrmSpRoPpd3_JA==/base.apk)
at com.google.android.gms.location.FusedLocationProviderClient.<init>(com.google.android.gms:play-services-location@@20.0.0:2)
at com.google.android.gms.location.LocationServices.getFusedLocationProviderClient(com.google.android.gms:play-services-location@@20.0.0:2)
at com.agontuk.RNFusedLocation.FusedLocationProvider.<init>(FusedLocationProvider.java:85)
at com.agontuk.RNFusedLocation.RNFusedLocationModule.createLocationProvider(RNFusedLocationModule.java:162)
at com.agontuk.RNFusedLocation.RNFusedLocationModule.getCurrentPosition(RNFusedLocationModule.java:109)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:764)
Any ideas? Any and all pointers appreciated. Thanks in advance.
You probably have multiple versions of google play services library installed. Make sure all are using a same version
In my case it was indeed a problem of multiple modules using the gms geolocation library (and one in particular using the latest).
See my answer below :
https://stackoverflow.com/a/74108740/8994735
@acaraty @Agontuk Lifesavers, thank you!
@acaraty i have tried what you said, but still issue persists. I have explained the issue in detail in this stackoverflow post https://stackoverflow.com/questions/77274148/could-not-invoke-rnfusedlocation-getcurrentposition-react-native-geolocation-s