error when build with gradlew assembleRelease and use proguard
React Native v0.50.3
React Native Fast Image v2.0.1
android v 5.1.1, 6.1.1
and stacktrace
com.facebook.react.bridge.JSApplicationIllegalArgumentException Error while updating property 'source' of a view managed by: FastImageView
ViewManagersPropertyCache.java:92 com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp
ViewManagerPropertyUpdater.java:129 com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty
ViewManagerPropertyUpdater.java:48 com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps
ViewManager.java:34 com.facebook.react.uimanager.ViewManager.updateProperties
NativeViewHierarchyManager.java:233 com.facebook.react.uimanager.NativeViewHierarchyManager.createView
UIViewOperationQueue.java:153 com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute
UIViewOperationQueue.java:1006 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations
UIViewOperationQueue.java:977 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded
GuardedFrameCallback.java:31 com.facebook.react.uimanager.GuardedFrameCallback.doFrame
ReactChoreographer.java:136 com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame
ChoreographerCompat.java:107 com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame
Choreographer.java:909 android.view.Choreographer$CallbackRecord.run
Choreographer.java:713 android.view.Choreographer.doCallbacks
Choreographer.java:645 android.view.Choreographer.doFrame
Choreographer.java:897 android.view.Choreographer$FrameDisplayEventReceiver.run
Handler.java:815 android.os.Handler.handleCallback
Handler.java:104 android.os.Handler.dispatchMessage
Looper.java:207 android.os.Looper.loop
ActivityThread.java:5857 android.app.ActivityThread.main
Method.java:-2 java.lang.reflect.Method.invoke
ZygoteInit.java:1026 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
ZygoteInit.java:887 com.android.internal.os.ZygoteInit.main
Caused by: java.lang.reflect.InvocationTargetException
Method.java:-2 java.lang.reflect.Method.invoke
ViewManagersPropertyCache.java:80 com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp
ViewManagerPropertyUpdater.java:129 com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty
ViewManagerPropertyUpdater.java:48 com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps
ViewManager.java:34 com.facebook.react.uimanager.ViewManager.updateProperties
NativeViewHierarchyManager.java:233 com.facebook.react.uimanager.NativeViewHierarchyManager.createView
UIViewOperationQueue.java:153 com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute
UIViewOperationQueue.java:1006 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations
UIViewOperationQueue.java:977 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded
GuardedFrameCallback.java:31 com.facebook.react.uimanager.GuardedFrameCallback.doFrame
ReactChoreographer.java:136 com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame
ChoreographerCompat.java:107 com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame
Choreographer.java:909 android.view.Choreographer$CallbackRecord.run
Choreographer.java:713 android.view.Choreographer.doCallbacks
Choreographer.java:645 android.view.Choreographer.doFrame
Choreographer.java:897 android.view.Choreographer$FrameDisplayEventReceiver.run
Handler.java:815 android.os.Handler.handleCallback
Handler.java:104 android.os.Handler.dispatchMessage
Looper.java:207 android.os.Looper.loop
ActivityThread.java:5857 android.app.ActivityThread.main
Method.java:-2 java.lang.reflect.Method.invoke
ZygoteInit.java:1026 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
ZygoteInit.java:887 com.android.internal.os.ZygoteInit.main
Caused by: java.lang.RuntimeException Unable to instantiate GlideModule implementation for class com.dylanvann.fastimage.OkHttpProgressGlideModule
ManifestParser.java:53 com.bumptech.glide.module.ManifestParser.parseModule
ManifestParser.java:30 com.bumptech.glide.module.ManifestParser.parse
Glide.java:187 com.bumptech.glide.Glide.parseGlideModules
Glide.java:166 com.bumptech.glide.Glide.get
RequestManager.java:62 com.bumptech.glide.RequestManager.<init>
RequestManager.java:53 com.bumptech.glide.RequestManager.<init>
RequestManagerRetriever.java:73 com.bumptech.glide.manager.RequestManagerRetriever.getApplicationManager
RequestManagerRetriever.java:95 com.bumptech.glide.manager.RequestManagerRetriever.get
Glide.java:657 com.bumptech.glide.Glide.with
FastImageViewManager.java:143 com.dylanvann.fastimage.FastImageViewManager.setSrc
Method.java:-2 java.lang.reflect.Method.invoke
ViewManagersPropertyCache.java:80 com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp
ViewManagerPropertyUpdater.java:129 com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty
ViewManagerPropertyUpdater.java:48 com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps
ViewManager.java:34 com.facebook.react.uimanager.ViewManager.updateProperties
NativeViewHierarchyManager.java:233 com.facebook.react.uimanager.NativeViewHierarchyManager.createView
UIViewOperationQueue.java:153 com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute
UIViewOperationQueue.java:1006 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations
UIViewOperationQueue.java:977 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded
GuardedFrameCallback.java:31 com.facebook.react.uimanager.GuardedFrameCallback.doFrame
ReactChoreographer.java:136 com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame
ChoreographerCompat.java:107 com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame
Choreographer.java:909 android.view.Choreographer$CallbackRecord.run
Choreographer.java:713 android.view.Choreographer.doCallbacks
Choreographer.java:645 android.view.Choreographer.doFrame
Choreographer.java:897 android.view.Choreographer$FrameDisplayEventReceiver.run
Handler.java:815 android.os.Handler.handleCallback
Handler.java:104 android.os.Handler.dispatchMessage
Looper.java:207 android.os.Looper.loop
ActivityThread.java:5857 android.app.ActivityThread.main
Method.java:-2 java.lang.reflect.Method.invoke
ZygoteInit.java:1026 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
ZygoteInit.java:887 com.android.internal.os.ZygoteInit.main
Caused by: java.lang.InstantiationException java.lang.Class<com.dylanvann.fastimage.OkHttpProgressGlideModule> has no zero argument constructor
Class.java:-2 java.lang.Class.newInstance
ManifestParser.java:51 com.bumptech.glide.module.ManifestParser.parseModule
ManifestParser.java:30 com.bumptech.glide.module.ManifestParser.parse
Glide.java:187 com.bumptech.glide.Glide.parseGlideModules
Glide.java:166 com.bumptech.glide.Glide.get
RequestManager.java:62 com.bumptech.glide.RequestManager.<init>
RequestManager.java:53 com.bumptech.glide.RequestManager.<init>
RequestManagerRetriever.java:73 com.bumptech.glide.manager.RequestManagerRetriever.getApplicationManager
RequestManagerRetriever.java:95 com.bumptech.glide.manager.RequestManagerRetriever.get
Glide.java:657 com.bumptech.glide.Glide.with
FastImageViewManager.java:143 com.dylanvann.fastimage.FastImageViewManager.setSrc
Method.java:-2 java.lang.reflect.Method.invoke
ViewManagersPropertyCache.java:80 com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp
ViewManagerPropertyUpdater.java:129 com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty
ViewManagerPropertyUpdater.java:48 com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps
ViewManager.java:34 com.facebook.react.uimanager.ViewManager.updateProperties
NativeViewHierarchyManager.java:233 com.facebook.react.uimanager.NativeViewHierarchyManager.createView
UIViewOperationQueue.java:153 com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute
UIViewOperationQueue.java:1006 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations
UIViewOperationQueue.java:977 com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded
GuardedFrameCallback.java:31 com.facebook.react.uimanager.GuardedFrameCallback.doFrame
ReactChoreographer.java:136 com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame
ChoreographerCompat.java:107 com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame
Choreographer.java:909 android.view.Choreographer$CallbackRecord.run
Choreographer.java:713 android.view.Choreographer.doCallbacks
Choreographer.java:645 android.view.Choreographer.doFrame
Choreographer.java:897 android.view.Choreographer$FrameDisplayEventReceiver.run
Handler.java:815 android.os.Handler.handleCallback
Handler.java:104 android.os.Handler.dispatchMessage
Looper.java:207 android.os.Looper.loop
ActivityThread.java:5857 android.app.ActivityThread.main
Method.java:-2 java.lang.reflect.Method.invoke
ZygoteInit.java:1026 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
ZygoteInit.java:887 com.android.internal.os.ZygoteInit.main
sorry I didn't insert this on proguard-rules.pro file
-keep public class com.dylanvann.fastimage.* { public *; }
-dontwarn com.dylanvann.fastimage.**
Even i got. For invalid URI format FastImage will throw an exception on Android and app will crash. Fixed it using before passing the source make a check of the URI like below:
const normalisedSource = source && typeof source.uri === 'string' && (source.uri.split('https://')[1] || source.uri.split('http://')[1]) ? source : null;
Strangely, your solution works with WebStorm but not using Android Studio, I'm a little at my wits end...
Most helpful comment
sorry I didn't insert this on proguard-rules.pro file