React-native-fast-image: [Android] Error while updating property 'source' of a view managed by: FastImageView

Created on 1 Dec 2017  路  3Comments  路  Source: DylanVann/react-native-fast-image

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

Most helpful comment

sorry I didn't insert this on proguard-rules.pro file

-keep public class com.dylanvann.fastimage.* { public *; }
-dontwarn com.dylanvann.fastimage.**

All 3 comments

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...

Was this page helpful?
0 / 5 - 0 ratings

Related issues

kkarmalkar picture kkarmalkar  路  4Comments

bhuvin25 picture bhuvin25  路  3Comments

yeomann picture yeomann  路  4Comments

Doko-Demo-Doa picture Doko-Demo-Doa  路  3Comments

jslok picture jslok  路  3Comments