项目最近有个需求,需要增加动图功能。目前支持动图的图片加载框架一个是Glide,一个是Fresco。动手写Demo时,发现用Fresco加载Gif图片时报了下面的错。在官方issue上面找到了这个问题的原因,原来是我使用的Fresco版本问题。forceOldAnimationCode这个属性已经被移除了,所以找不到了。
解决办法:确保引入的所有Fresco相关的库的版本号都是一样的。
附上官方issue链接:
https://github.com/facebook/fresco/issues/1660
7-18 15:11:20.297 14207-14358/com.example.huanglin.dynamicimagedemo E/AndroidRuntime: FATAL EXCEPTION: Thread-24794
Process: com.example.huanglin.dynamicimagedemo, PID: 14207
java.lang.NoSuchFieldError: No instance field forceOldAnimationCode of type Z in class Lcom/facebook/imagepipeline/common/ImageDecodeOptions; or its superclasses (declaration of ‘com.facebook.imagepipeline.common.ImageDecodeOptions’ appears in/data/app/com.example.huanglin.dynamicimagedemo-1/base.apk)
at com.facebook.imagepipeline.animated.factory.AnimatedImageFactoryImpl.decodeGif(AnimatedImageFactoryImpl.java:84)
at com.facebook.imagepipeline.decoder.DefaultImageDecoder.decodeGif(DefaultImageDecoder.java:145)
at com.facebook.imagepipeline.decoder.DefaultImageDecoder
1.decode(DefaultImageDecoder.java:65)atcom.facebook.imagepipeline.decoder.DefaultImageDecoder.decode(DefaultImageDecoder.java:126)atcom.facebook.imagepipeline.producers.DecodeProducer
ProgressiveDecoder.doDecode(DecodeProducer.java:240)
at com.facebook.imagepipeline.producers.DecodeProducer
ProgressiveDecoder.access
200(DecodeProducer.java:112)
at com.facebook.imagepipeline.producers.DecodeProducer
ProgressiveDecoder
1.run(DecodeProducer.java:145)
at com.facebook.imagepipeline.producers.JobScheduler.doJob(JobScheduler.java:207)
at com.facebook.imagepipeline.producers.JobScheduler.access
000(JobScheduler.java:27)atcom.facebook.imagepipeline.producers.JobScheduler
1.run(JobScheduler.java:78)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor
Worker.run(ThreadPoolExecutor.java:588)atcom.facebook.imagepipeline.core.PriorityThreadFactory
1.run(PriorityThreadFactory.java:43)
at java.lang.Thread.run(Thread.java:833)
解决--No instance field forceOldAnimationCode of type Z in class ImageDecodeOptions
