Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] Error while updating property 'source' of a view managed by: FastImageView #96

Closed
hawkup opened this issue Dec 1, 2017 · 3 comments

Comments

@hawkup
Copy link

hawkup commented Dec 1, 2017

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
@hawkup
Copy link
Author

hawkup commented Dec 1, 2017

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

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

@adnana-hrbl-v
Copy link

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;

@samiede
Copy link

samiede commented Jul 27, 2020

Strangely, your solution works with WebStorm but not using Android Studio, I'm a little at my wits end...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants