facebook / fresco

An Android library for managing images and the memory they use.
https://frescolib.org/
MIT License
17.06k stars 3.75k forks source link

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libgifimage.so #2389

Open saini2sandeep opened 5 years ago

saini2sandeep commented 5 years ago

We use GitHub Issues for bugs.

Description

Crashlytics report this issue in Android version 8.1.0 and 9 in Vivo devices only, after deploying app on play store using app bundles. i am using "builder.experiment().setNativeCodeDisabled(true);" while initialising fresco

Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libgifimage.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName + 738(SoLoader.java:738) at com.facebook.soloader.SoLoader.loadLibraryBySoName + 591(SoLoader.java:591) at com.facebook.soloader.SoLoader.loadLibrary + 529(SoLoader.java:529) at com.facebook.soloader.SoLoader.loadLibrary + 484(SoLoader.java:484) at com.facebook.animated.gif.GifImage.ensure + 42(GifImage.java:42) at com.facebook.animated.gif.GifImage.create + 70(GifImage.java:70) at com.facebook.animated.gif.GifImage.decode + 89(GifImage.java:89) at com.facebook.imagepipeline.animated.factory.AnimatedImageFactoryImpl.decodeGif + 86(AnimatedImageFactoryImpl.java:86) at com.facebook.fresco.animation.factory.AnimatedFactoryV2Impl$1.decode + 89(AnimatedFactoryV2Impl.java:89) at com.facebook.imagepipeline.decoder.DefaultImageDecoder.decodeGif + 140(DefaultImageDecoder.java:140) at com.facebook.imagepipeline.decoder.DefaultImageDecoder$1.decode + 60(DefaultImageDecoder.java:60) at com.facebook.imagepipeline.decoder.DefaultImageDecoder.decode + 121(DefaultImageDecoder.java:121) at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.doDecode + 281(DecodeProducer.java:281) at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.getIntermediateImageEndOffset(DecodeProducer.java:1) at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.access$200 + 128(DecodeProducer.java:128) at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder$1.run + 170(DecodeProducer.java:170) at com.facebook.imagepipeline.producers.JobScheduler.doJob + 202(JobScheduler.java:202) at com.facebook.imagepipeline.producers.JobScheduler.access$000 + 22(JobScheduler.java:22) at com.facebook.imagepipeline.producers.JobScheduler$1.run + 73(JobScheduler.java:73) at java.util.concurrent.ThreadPoolExecutor.runWorker + 1167(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641) at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run + 51(PriorityThreadFactory.java:51) at java.lang.Thread.run + 764(Thread.java:764)

Additional Information

waseefakhtar commented 5 years ago

Here's one attempt that I recently tried in my app but I haven't yet tested with users. So you might want to have a look at it too: https://github.com/facebook/fresco/issues/2049#issuecomment-462880309

skysoul19850730 commented 5 years ago

i can't find the answer in 2049

saini2sandeep commented 5 years ago

i am using app bundles and i already tried that one but it is not working in gif and giving the above stack trace in fabric. Before i was having this crash with images also so i added "builder.experiment().setNativeCodeDisabled(true);" while initialising fresco. now the image problem solved and it is coming in gif files.

stale[bot] commented 5 years ago

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "bug" or "enhancement" and I will leave it open. Thank you for your contributions.

saini2sandeep commented 5 years ago

Hey there, no this issue is still not fixed. Community should need to take a look in this.

buncis commented 4 years ago

try to use version 2.0.0 because lesser than that fresco doesn't support app bundle

https://github.com/facebook/fresco/issues/2364#issuecomment-531141342

hello-hxb commented 4 years ago

` ndk {

        abiFilters 'armeabi'

    }`

在app的armeabi目录下无法找到libgifimage.so,这个问题怎么解决吗?有大佬知道吗?谢谢

zhanzz commented 4 years ago

` ndk {

        abiFilters 'armeabi'

    }`

在app的armeabi目录下无法找到libgifimage.so,这个问题怎么解决吗?有大佬知道吗?谢谢

文档上面是这么说的: Fresco主要用Java编写,但也有一些C ++。必须针对Android可以运行的每种CPU类型(称为“ ABI”)编译C ++代码。目前,Fresco支持五个ABI。

armeabiv-v7a:ARM处理器的版本7或更高版本。从2011-15发行的大多数Android手机都在使用此功能。 arm64-v8a:64位ARM处理器。在新设备上找到,例如三星Galaxy S6。 x86:通常由平板电脑和仿真器使用。 x86_64:由64位平板电脑使用。 Fresco的二进制下载包含.so所有五个平台的本机文件的副本。通过为每种处理器类型创建单独的APK,可以显着减小应用程序的大小。

如果您的应用程序不支持Android 2.3(Gingerbread),则将不需要这种armeabi样式。