nitaliano / react-native-mapbox-gl

A Mapbox GL react native module for creating custom maps
Other
2.16k stars 697 forks source link

RCTMGLPointAnnotation was not found in the UIManager #1459

Closed yassinya closed 5 years ago

yassinya commented 5 years ago

I am using mapbox SDK in an app i am developing and i am facing a strange issue. In the debug mode, everything works smoothly and map is loading fine. But in the release build the app crash every time it gets launched. i checked the log and there seem to be an error that could be the main issue. RCTMGLPointAnnotation was not found in the UIManager.

I have already spent 5h debugging to no avail, i'll be grateful for any help

React native: v0.57.8 Mapbox: v6.1.2

Full log:

E/unknown:ReactNative( 2701): Invariant Violation: requireNativeComponent: "RCTMGLPointAnnotation" was not found in the UIManager. E/unknown:ReactNative( 2701): E/unknown:ReactNative( 2701): This error is located at: E/unknown:ReactNative( 2701): in RCTMGLPointAnnotation E/unknown:ReactNative( 2701): in h E/unknown:ReactNative( 2701): in RCTMGLAndroidTextureMapView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in b E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in l E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in C E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in P E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in S E/unknown:ReactNative( 2701): in y E/unknown:ReactNative( 2701): in L E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in h E/unknown:ReactNative( 2701): in C E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in l E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in S E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in E E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in c, stack: E/unknown:ReactNative( 2701): exports@160:1022 E/unknown:ReactNative( 2701): @158:118 E/unknown:ReactNative( 2701): get@152:712 E/unknown:ReactNative( 2701): qr@89:59535 E/unknown:ReactNative( 2701): Jr@89:61732 E/unknown:ReactNative( 2701): Kr@89:62132 E/unknown:ReactNative( 2701): zi@89:69082 E/unknown:ReactNative( 2701): Ii@89:68425 E/unknown:ReactNative( 2701): Ae@89:75098 E/unknown:ReactNative( 2701): ze@89:13671 E/unknown:ReactNative( 2701): Oe@89:13844 E/unknown:ReactNative( 2701): receiveEvent@89:14220 E/unknown:ReactNative( 2701): value@25:3449 E/unknown:ReactNative( 2701): @25:960 E/unknown:ReactNative( 2701): value@25:2703 E/unknown:ReactNative( 2701): value@25:932 E/unknown:ReactNative( 2701): Invariant Violation: Invariant Violation: requireNativeComponent: "RCTMGLPointAnnotation" was not found in the UIManager. E/unknown:ReactNative( 2701): E/unknown:ReactNative( 2701): This error is located at: E/unknown:ReactNative( 2701): in RCTMGLPointAnnotation E/unknown:ReactNative( 2701): in h E/unknown:ReactNative( 2701): in RCTMGLAndroidTextureMapView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in b E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in l E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in C E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in P E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in S E/unknown:ReactNative( 2701): in y E/unknown:ReactNative( 2701): in L E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in h E/unknown:ReactNative( 2701): in C E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in v E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in l E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in f E/unknown:ReactNative( 2701): in S E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in E E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in c E/unknown:ReactNative( 2701): E/unknown:ReactNative( 2701): This error is located at: E/unknown:ReactNative( 2701): in k E/unknown:ReactNative( 2701): in n E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in RCTView E/unknown:ReactNative( 2701): in c, stack: E/unknown:ReactNative( 2701): exports@160:1022 E/unknown:ReactNative( 2701): @158:118 E/unknown:ReactNative( 2701): get@152:712 E/unknown:ReactNative( 2701): qr@89:59535 E/unknown:ReactNative( 2701): Jr@89:61732 E/unknown:ReactNative( 2701): Kr@89:62132 E/unknown:ReactNative( 2701): zi@89:69082 E/unknown:ReactNative( 2701): Ii@89:68425 E/unknown:ReactNative( 2701): Ae@89:75098 E/unknown:ReactNative( 2701): ze@89:13671 E/unknown:ReactNative( 2701): Oe@89:13844 E/unknown:ReactNative( 2701): receiveEvent@89:14220 E/unknown:ReactNative( 2701): value@25:3449 E/unknown:ReactNative( 2701): @25:960 E/unknown:ReactNative( 2701): value@25:2703 E/unknown:ReactNative( 2701): value@25:932 W/dalvikvm( 2701): threadid=14: thread exiting with uncaught exception (group=0x94d03b20) E/AndroidRuntime( 2701): FATAL EXCEPTION: mqt_nativemodules E/AndroidRuntime( 2701): Process: com.myapp, PID: 2701 E/AndroidRuntime( 2701): com.facebook.react.common.d: Invariant Violation: Invariant Violation: requireNativeComponent: "RCTMGLPointAnnotation" was not found in the UIManager. E/AndroidRuntime( 2701): E/AndroidRuntime( 2701): This error is located at: E/AndroidRuntime( 2701): in RCTMGLPointAnnotation E/AndroidRuntime( 2701): in h E/AndroidRuntime( 2701): in RCTMGLAndroidTextureMapView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in b E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in v E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in l E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in E/AndroidRuntime( 2701): in k E/AndroidRuntime( 2701): in v E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in f E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in f E/AndroidRuntime( 2701): in C E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in P E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in f E/AndroidRuntime( 2701): in S E/AndroidRuntime( 2701): in y E/AndroidRuntime( 2701): in L E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in h E/AndroidRuntime( 2701): in C E/AndroidRuntime( 2701): in k E/AndroidRuntime( 2701): in v E/AndroidRuntime( 2701): in v E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in l E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in f E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in f E/AndroidRuntime( 2701): in S E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in E E/AndroidRuntime( 2701): in k E/AndroidRuntime( 2701): in k E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in c E/AndroidRuntime( 2701): E/AndroidRuntime( 2701): This error is located at: E/AndroidRuntime( 2701): in k E/AndroidRuntime( 2701): in n E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in RCTView E/AndroidRuntime( 2701): in c, stack: E/AndroidRuntime( 2701): exports@160:1022 E/AndroidRuntime( 2701): @158:118 E/AndroidRuntime( 2701): get@152:712 E/AndroidRuntime( 2701): qr@89:59535 E/AndroidRuntime( 2701): Jr@89:61732 E/AndroidRuntime( 2701): Kr@89:62132 E/AndroidRuntime( 2701): zi@89:69082 E/AndroidRuntime( 2701): Ii@89:68425 E/AndroidRuntime( 2701): Ae@89:75098 E/AndroidRuntime( 2701): ze@89:13671 E/AndroidRuntime( 2701): Oe@89:13844 E/AndroidRuntime( 2701): receiveEvent@89:14220 E/AndroidRuntime( 2701): value@25:3449 E/AndroidRuntime( 2701): @25:960 E/AndroidRuntime( 2701): value@25:2703 E/AndroidRuntime( 2701): value@25:932 E/AndroidRuntime( 2701): E/AndroidRuntime( 2701): at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(Unknown Source) E/AndroidRuntime( 2701): at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(Unknown Source) E/AndroidRuntime( 2701): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 2701): at java.lang.reflect.Method.invoke(Method.java:515) E/AndroidRuntime( 2701): at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source) E/AndroidRuntime( 2701): at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source) E/AndroidRuntime( 2701): at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) E/AndroidRuntime( 2701): at android.os.Handler.handleCallback(Handler.java:733) E/AndroidRuntime( 2701): at android.os.Handler.dispatchMessage(Handler.java:95) E/AndroidRuntime( 2701): at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source) E/AndroidRuntime( 2701): at android.os.Looper.loop(Looper.java:136) E/AndroidRuntime( 2701): at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(Unknown Source) E/AndroidRuntime( 2701): at java.lang.Thread.run(Thread.java:841) W/ActivityManager( 578): Force finishing activity com.myapp/.MainActivity D/dalvikvm( 578): GC_FOR_ALLOC freed 1324K, 22% free 9015K/11504K, paused 218ms, total 238ms W/WindowManager( 578): updateFocusedWindowLocked, focusedAppToken is null. W/ContextImpl( 805): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1556 android.content.ContextWrapper.bindService:517 com.google.android.gms.common.stats.zza.zza:-1 com.google.android.gms.common.stats.zza.zza:-1 com.google.android.gms.ads.identifier.AdvertisingIdClient.zzc:-1 W/NetworkManagementSocketTagger( 578): setKernelCountSet(10051, 0) failed with errno -13 D/ReactNative( 2701): ReactInstanceManager.detachViewFromInstance() I/qtaguid ( 805): Untagging socket 61 failed errno=-13 W/NetworkManagementSocketTagger( 805): untagSocket(61) failed with errno -13 I/qtaguid ( 805): Tagging socket 61 with tag 49e2824000000000(1239581248) for uid -1 failed errno=-13

mdeveloper20 commented 5 years ago

I have this problem too. has this issue been fixed?

yassinya commented 5 years ago

I just downgraded to react native v0.55.4

mdeveloper20 commented 5 years ago

Is it working well with v0.55.4?

yassinya commented 5 years ago

Yes, it worked fine

kylesziv commented 5 years ago

Is there an update on this item? I use Expo and would like to continue to use Expo 32 which uses RN 0.57.

macfanatic commented 5 years ago

Seems related to #1491, #1518, #1514 - all of which right don't seem to have any fix.

First time using MapBox in a RN app and the amount of effort to get this to work is incredible.

mfazekas commented 5 years ago

I'm also facing the same issue. I think it's caused by proguard and/or minification and use of class.getSimpleName

I was able to work around by disabling proguard and minify

app/build.gradle:

    release {
      def enableProguardInReleaseBuilds = false
      minifyEnabled false
    ...
}

seems to be disabled in example too: https://github.com/nitaliano/react-native-mapbox-gl/blob/master/example/android/app/build.gradle#L94

kristfal commented 5 years ago

This should work fine in master, please give it a go.

darekg11 commented 5 years ago

@kristfal It's seems like it is not. I am on React-Native 0.59.4 and Mapbox: git://github.com/nitaliano/react-native-mapbox-gl.git#bc5f589d3782a7d3ed7d78c9050b2fd12ea6c77a and it happens on release build with ProGuard enabled.

darekg11 commented 5 years ago

Adding those lines to my ProGuard helped in my case (PointAnnotation + LineLayer):

-keep class com.mapbox.rctmgl.components.** { *; }
-dontwarn com.mapbox.rctmgl.components.**

I am no expert of Android so I guess this is like a dirty patch since I might use some more features of MapBox in future and I would have to make sure that those classes are also not touched by ProGuard. Just leaving it here, if somebody finds that issue wondering how to fix it.