Fresco: 致命异常:java.lang.UnsatisfiedLinkError 找不到要加载的 DSO:libimagepipeline.so / com.facebook.imagepipeline.memory.NativeMemoryChunk

创建于 2018-02-11  ·  87评论  ·  资料来源: facebook/fresco

描述

更新到 1.8.0 版,Crashlytic 报告了这些问题。
Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522) at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335) at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42) at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>(NativeMemoryChunk.java:33) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20) at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257) at com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.<init>(NativePooledByteBufferOutputStream.java:51) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26) at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89) at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101) at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage(LocalResourceFetchProducer.java:39) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50) at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:590) at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53) at java.lang.Thread.run(Thread.java:818)

Fatal Exception: java.lang.UnsatisfiedLinkError: com.facebook.imagepipeline.memory.NativeMemoryChunk at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20) at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257) at com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.<init>(NativePooledByteBufferOutputStream.java:51) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26) at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89) at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101) at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage(LocalResourceFetchProducer.java:39) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50) at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53) at java.lang.Thread.run(Thread.java:818)

再生产

解决方案

我想知道更新到 1.8.1 是否可以解决这些问题,或者我需要将compile 'com.facebook.soloader:soloader:0.1.0+'到 build.gradle

附加信息

  • 壁画版:
    compile 'com.facebook.fresco:fresco:1.8.0'
    compile 'com.facebook.fresco:animated-gif:1.8.10'
  • 平台版本:
    OPPO - 操作系统:Android 5.1.1
    设备:R7sfg / R7g / A51fa
bug enhancement

最有用的评论

我用的 1.8.1 版本也有同样的问题。设备是 VIVO X7(Android 5.1.1,arm64-v8a)。

FrescoIoBoundExecutor-2(121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

1 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)

2 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
3 com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257)
4 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream。(NativePooledByteBufferOutputStream.java:51)
5 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98)
6 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26)
7 com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89)
8 com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101)
9 com.facebook.imagepipeline.producers.LocalFileFetchProducer.getEncodedImage(LocalFileFetchProducer.java:34)
10 com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54)
11 com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50)
12 com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45)
13 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
14 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
15 com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53)
16 java.lang.Thread.run(Thread.java:818)

FrescoIoBoundExecutor-1(121150)

java.lang.UnsatisfiedLinkError

找不到要加载的 DSO:libimagepipeline.so

1 com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522)

2 com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420)
3 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335)
5 com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42)
6 com.facebook.imagepipeline.memory.NativeMemoryChunk。(NativeMemoryChunk.java:33)
7 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)
8 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
9 com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257)
10 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream。(NativePooledByteBufferOutputStream.java:51)
11 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98)
12 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26)
13 com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache(BufferedDiskCache.java:336)
14 com.facebook.imagepipeline.cache.BufferedDiskCache.access$400(BufferedDiskCache.java:36)
15 com.facebook.imagepipeline.cache.BufferedDiskCache$2.call(BufferedDiskCache.java:182)
16 com.facebook.imagepipeline.cache.BufferedDiskCache$2.call(BufferedDiskCache.java:166)
17 bolts.Task$4.run(Task.java:357)
18 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
19 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
20 com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53)
21 java.lang.Thread.run(Thread.java:818)

所有87条评论

你的构建是如何设置的? 您是否使用 ABI 拆分? http://frescolib.org/docs/shipping.html

@oprisnik
我的构建设置
android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { applicationId "com.mobix.pinecone" minSdkVersion 15 targetSdkVersion 27 versionCode 83 versionName '5.42' multiDexEnabled true } buildTypes { release { minifyEnabled false multiDexKeepProguard file("proguard.multidex.config") } debug { minifyEnabled false multiDexKeepProguard file("proguard.multidex.config") } } productFlavors { } dexOptions { jumboMode true javaMaxHeapSize "4g" } testOptions { unitTests.returnDefaultValues = true } }

和多索引配置
-keepclassmembers class * implements android.os.Parcelable { static ** CREATOR; } -dontwarn com.google.android.gms.** -keep class com.google.android.gms.** { *; } -keep class com.google.firebase.** { *; } -keep class io.realm.** { *; } -keep class io.branch.** { *; } -keep class io.fabric.sdk.android.** { *; } -keep class io.socket.** { *; } -keep class com.google.android.youtube.** { *; } -keep class com.crashlytics.android.** { *; } -keep class com.facebook.internal.FacebookInitProvider.** { *; } -keep class com.facebook.FacebookSdk.** { *; } -keep class com.facebook.appevents.AppEventsLogger.** { *; } -keep class com.facebook.common.memory.MemoryTrimmableRegistry.** { *; } -keep class com.facebook.drawee.backends.pipeline.Fresco.** { *; } -keep class com.facebook.imagepipeline.core.ImagePipelineConfig.** { *; } -keep class me.zhanghai.android.materialprogressbar.** { *; } -keep class com.nguyenhoanglam.imagepicker.** { *;} -keep class com.iarcuschin.simpleratingbar.** { *;} -keep class android.support.v4.app.NotificationManagerCompat.** { *;}

我不知道为什么它只发生在 OPPO - 操作系统:Android 5.1.1 和更新到版本 1.8.0 之前,这些问题不会发生在相同的构建配置上

@hsandyque ,您不需要对soloader的额外依赖,因为它从 1.8.0 开始随 Fresco 一起提供。 我建议更新到 1.8.1,因为它修复了其他错误。

您的 build.gradle 文件应该引用proguard-fresco.pro文件,如@oprisnik发布的链接中

澄清一下:此错误_仅_发生在该特定设备上吗? 是否有任何adb logcat输出可以共享?

@lambdapioneer
澄清一下:此错误是否仅发生在该特定设备上? 是否有任何 adb logcat 输出可以共享?
是的,它只发生在 OPPO Android 5.1.1 设备上 (R7sfg / R7g / A51fa)
附件是 logcats
1.txt
2.txt

@hsandyque ,鉴于它只发生在 Oppo 手机上,这表明二进制库的捆绑方式和手机加载它们的方式不太好。

我目前无法使用 OPPO 手机,并且在搜索时找不到更好的指示:/

(a) 安装我们存储库中的展示应用程序时是否也会发生这种情况? (一旦我拿到 OPPO 手机,这将使我更接近调试这个)
(b) 您能否提供在您发布的 APK 上运行unzip -l your_release.apk | grep lib/的输出? 这将显示实际捆绑了哪些文件。

@lambdapioneer

我没有 OPPO 手机(Android 5.1.1),这些问题来自 Crashlytics 报告。 我不知道这些是否也发生在展示应用程序上。

捆绑清单如下
158176 00-00-1980 00:00 lib/arm64-v8a/libgifimage.so 383192 00-00-1980 00:00 lib/arm64-v8a/libimagepipeline.so 3107040 00-00-1980 00:00 lib/arm64-v8a/librealm-jni.so 91980 00-00-1980 00:00 lib/armeabi-v7a/libgifimage.so 255696 00-00-1980 00:00 lib/armeabi-v7a/libimagepipeline.so 1877536 00-00-1980 00:00 lib/armeabi-v7a/librealm-jni.so 100168 00-00-1980 00:00 lib/armeabi/libgifimage.so 313028 00-00-1980 00:00 lib/armeabi/libimagepipeline.so 4058380 00-00-1980 00:00 lib/mips/librealm-jni.so 145240 00-00-1980 00:00 lib/x86/libgifimage.so 452312 00-00-1980 00:00 lib/x86/libimagepipeline.so 3397252 00-00-1980 00:00 lib/x86/librealm-jni.so 150360 00-00-1980 00:00 lib/x86_64/libgifimage.so 477784 00-00-1980 00:00 lib/x86_64/libimagepipeline.so 3336720 00-00-1980 00:00 lib/x86_64/librealm-jni.so

@lambdapioneer
更多日志
02-21 15:14:44.524 25391-25537/com.mobix.pinecone E/art: dlopen("/data/data/com.mobix.pinecone/lib-main/libimagepipeline.so", RTLD_LAZY) failed: dlopen failed: "/data/data/com.mobix.pinecone/lib-main/libimagepipeline.so" is 64-bit instead of 32-bit 02-21 15:14:44.524 25391-25537/com.mobix.pinecone E/SoLoader: Could not load: libimagepipeline.so 02-21 15:14:44.537 25391-25537/com.mobix.pinecone E/AndroidRuntime: FATAL EXCEPTION: FrescoIoBoundExecutor-2 Process: com.mobix.pinecone, PID: 25391 java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522) at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335) at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42) at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>(NativeMemoryChunk.java:33) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20) at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257) at com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.<init>(NativePooledByteBufferOutputStream.java:51) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26) at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89) at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101) at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage(LocalResourceFetchProducer.java:39) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50) at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53) at java.lang.Thread.run(Thread.java:818)

嗨@oprisnik
我有同样的问题如何解决?

java.lang.UnsatisfiedLinkError:找不到要加载的 DSO:libimagepipeline.so
在 com.facebook.soloader.jb(来源文件:522)
在 com.facebook.soloader.ja(来源文件:420)
在 com.facebook.soloader.ja(来源文件:370)
在 com.facebook.soloader.ja(来源文件:335)
在 com.facebook.imagepipeline.nativecode.aa(SourceFile:42)
在 com.facebook.imagepipeline.memory.NativeMemoryChunk。(源文件:33)
在 com.facebook.imagepipeline.memory.li(SourceFile:58)
在 com.facebook.imagepipeline.memory.lb(SourceFile:20)
在 com.facebook.imagepipeline.memory.aa(来源文件:257)
在 com.facebook.imagepipeline.memory.o。(源文件:51)
在 com.facebook.imagepipeline.memory.nb(来源文件:98)
在 com.facebook.imagepipeline.memory.na(来源文件:26)
在 com.facebook.imagepipeline.producers.za(来源文件:89)
在 com.facebook.imagepipeline.producers.zb(来源文件:101)
在 com.facebook.imagepipeline.producers.aa.a(来源文件:34)
在 com.facebook.imagepipeline.producers.z$1.d(来源文件:54)
在 com.facebook.imagepipeline.producers.z$1.c(SourceFile:50)
在 com.facebook.common.berun(来源文件:45)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
在 com.facebook.imagepipeline.dk$1.run(SourceFile:53)
在 java.lang.Thread.run(Thread.java:818)

@hsandyque

您是否在您的应用程序 gradle 文件中指定了任何 ABI(CPU 类型)过滤器?

@erikandre
我没有在我的 gradle 文件中使用任何 ABI 过滤器,并且已经在之前的回复中列出了详细设置

我用的 1.8.1 版本也有同样的问题。设备是 VIVO X7(Android 5.1.1,arm64-v8a)。

FrescoIoBoundExecutor-2(121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

1 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)

2 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
3 com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257)
4 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream。(NativePooledByteBufferOutputStream.java:51)
5 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98)
6 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26)
7 com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89)
8 com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101)
9 com.facebook.imagepipeline.producers.LocalFileFetchProducer.getEncodedImage(LocalFileFetchProducer.java:34)
10 com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54)
11 com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50)
12 com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45)
13 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
14 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
15 com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53)
16 java.lang.Thread.run(Thread.java:818)

FrescoIoBoundExecutor-1(121150)

java.lang.UnsatisfiedLinkError

找不到要加载的 DSO:libimagepipeline.so

1 com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522)

2 com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420)
3 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335)
5 com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42)
6 com.facebook.imagepipeline.memory.NativeMemoryChunk。(NativeMemoryChunk.java:33)
7 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)
8 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
9 com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257)
10 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream。(NativePooledByteBufferOutputStream.java:51)
11 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98)
12 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26)
13 com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache(BufferedDiskCache.java:336)
14 com.facebook.imagepipeline.cache.BufferedDiskCache.access$400(BufferedDiskCache.java:36)
15 com.facebook.imagepipeline.cache.BufferedDiskCache$2.call(BufferedDiskCache.java:182)
16 com.facebook.imagepipeline.cache.BufferedDiskCache$2.call(BufferedDiskCache.java:166)
17 bolts.Task$4.run(Task.java:357)
18 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
19 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
20 com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53)
21 java.lang.Thread.run(Thread.java:818)

任何修复? 这是我的日志
致命异常:java.lang.UnsatisfiedLinkError:找不到要加载的 DSO:libimagepipeline.so
在 com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522)
在 com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420)
在 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370)
在 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335)
在 com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42)
在 com.facebook.imagepipeline.memory.NativeMemoryChunk。(NativeMemoryChunk.java:33)
在 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)
在 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
在 com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257)
在 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream。(NativePooledByteBufferOutputStream.java:51)
在 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newOutputStream(NativePooledByteBufferFactory.java:141)
在 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newOutputStream(NativePooledByteBufferFactory.java:26)
在 com.facebook.imagepipeline.producers.NetworkFetchProducer.onResponse(NetworkFetchProducer.java:90)
在 com.facebook.imagepipeline.producers.NetworkFetchProducer$1.onResponse(NetworkFetchProducer.java:70)
在 com.facebook.imagepipeline.backends.okhttp3.OkHttpNetworkFetcher$2.onResponse(OkHttpNetworkFetcher.java:180)
在 okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
在 okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
在 java.lang.Thread.run(Thread.java:818)

image

@wangshuwen1107 @csbz17027 @ignaciogs
由于 Facebook 仍在检查问题,我找到了可以临时解决此问题的解决方法。

dlopen("/data/data/xxx/lib-main/libimagepipeline.so", RTLD_LAZY) failed: dlopen failed: "/data/data/xxx/lib-main/libimagepipeline.so" is 64-bit instead of 32-bit

我发现的日志是这些特定设备以 32 位运行应用程序(我不知道为什么,可能是框架错误)但 libimagepipeline.so 是 64 位。

添加api过滤器如下代码快照,跳过“arm64-v8a”
defaultConfig { ... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "x86_64", "mips", "mips64" } }
这不是正确的解决方案,但也许它会首先解决问题,然后我们等待更新

@hsandyque非常感谢,您的回复很有帮助,期待您的更新!

@oprisnik @erikandre @lambdapioneer
你知道如何解决这个问题吗?

@hsandyque您是否加载了任何其他依赖项,以至于系统可能会与 32 位和 64 位库的混合混淆?

在这种情况下,我建议您使用以下abiFilters行:

abiFilters "armeabi", "armeabi-v7a", "x86", "mips"}

如果您没有专门针对特殊设备,甚至可能完全放弃mips

在 v1.9.0 上仍然有这个问题。

添加

        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86"
        }

为我工作。 但是通过阅读上面的对话,似乎这不是“正确”的解决方案?

我的团队有同样的问题,还没有从像这样的第三个库中得到这么多崩溃报告(因为壁画的 OOM),是时候说再见了!

我用
ndk { abiFilters "armeabi,armeabi-v7a" }

compile 'com.facebook.fresco:fresco:1.8.0' compile 'com.facebook.fresco:animated-gif:1.8.0' compile 'com.facebook.fresco:animated-webp:1.8.0' compile 'com.facebook.fresco:webpsupport:1.8.0'
也有同样的崩溃。

在 v1.9.0 上仍然有这个问题。

在支持 abis“armeabi”、“armeabi-v7a”、“x86”的 1.9.0 上仍然面临这个问题

在 v1.9.0 上仍然有这个问题。

我也有同样的问题。 我的应用程序在打开时崩溃。 它仅发生在运行 android 5.0.2 的 HTC One E9PLUS dual sim 上
错误:致命异常:java.lang.UnsatisfiedLinkError
找不到要加载的 DSO:libimagepipeline.so

更新:对于那些我们遇到这个问题的人,请检查Fresco 网站上

在各种设备上也看到了这个问题:
image

使用 Fresco 1.9.0 版和 ABI 过滤器来减小 APK 大小:

ndk {
    abiFilters "armeabi-v7a", "x86"
}

当我们将 Fresco 从 1.5.0 更新到 1.9.0 时,这个问题开始出现。 这还涉及删除 ReLinker 的使用并删除明确包含的 proguard-fresco.pro 文件。

您好,最近好像没有关于这个问题的活动。 问题已解决,还是仍需要社区关注? 如果没有进一步的活动发生,这个问题可能会被关闭。 您也可以将此问题标记为“错误”或“增强”,我将保持开放状态。 感谢你的贡献。

撞。 这仍然是一个持续的问题。 从 1.5.0 更新到 1.9.0 后发生此崩溃,并且没有提供适合我的解决方案。

@jmbusby你只针对 arm v7a。 某些设备可能是 armv6 甚至 armv5 吗? 例如,根据https://forum.xda-developers.com/showthread.php?t=1596800 ,似乎有不少带有 v6 的中兴设备

@oprisnik我认为这不太可能,因为最常见的崩溃手机是配备 ARM v8 处理器的 Asus Zenfone 3 Max。 最常见的中兴手机是 Blade V7,也有 ARM v8。

我在从 1.8.1 迁移到 1.10 时看到了这个问题

我们在应用程序中使用的几个组件迫使我们只使用“armeabi”和“x86”分割……查看 Imagepipeline 的 v-1.10 的 aar 文件,没有“armeabi”变体。 今后还会这样吗? 您是否正在放弃对该架构的支持?
.so 文件存在于 1.9 中。

这里有任何线索

您好,最近好像没有关于这个问题的活动。 问题已解决,还是仍需要社区关注? 如果没有进一步的活动发生,这个问题可能会被关闭。 您也可以将此问题标记为“错误”或“增强”,我将保持开放状态。 感谢你的贡献。

问题依然存在

大家好,很高兴再次“见到”你。

@lambdapioneer@oprisnik自 Fresco 0.1 以来,已在各种版本中报告了此问题。 问题在于加载库的设备过多,其中一些肯定会出现问题。

推荐的解决方案(拆分 APK)会导致其他问题。 除其他外,拆分 APK 需要为每个 ABI 使用单独的版本代码。 当你已经有多种产品风格和构建类型,所有这些都由 hockeyapp 等外部插件管理时,拆分会让团队的眼睛下垂。 在这一点上,切换到 Glide 实际上比这样做更容易。

NativePooledByteBuffer 对于 API>=21 来说并不是那么重要,这是许多应用程序现在的目标(Dalvik 现在下降到 10%)。 可能值得将其设为可选,并且只为更高版本的平台使用标准 Java 内存。

我以后可能会处理这个问题,但我怀疑你更喜欢仍然在 FB 的人这样做:)

嘿@tyronen! 好久不见' :)

好时机,我们现在确实有人在做这件事(Java 版本的 NativePooledByteBuffer 和类似的类)——所以这应该很快得到修复。

但是,如果您想再次做出贡献,我们还有很多其他未解决的问题和未来改进的想法。
我们还考虑了 Drawee 和管道的一些更大的变化,所以事情可能很快就会改变。

三星 Galaxy S9 Android 8 仍然无法运行。

我也遇到这个问题。 这发生在OPPO A51手机上,它在我使用Fresco v1.8.1出现,但没有出现在v0.12.0

所以我想这只会被忽略? 从 1.8 版开始,在最流行的设备上崩溃...

api 'com.facebook. 新鲜:新鲜:1.10.0'
😂😂😂

任何更新?

同样的问题在这里
将近 8 个月大的问题。
任何知道解决方法? 降级 fresco 和使用 soloader 是否有效?

大家好,我确实理解这个问题的挫败感。

我想让您知道,我们非常了解本机代码的(各种)问题及其导致的问题。 我们正在积极致力于允许在没有任何本机代码的情况下使用 Fresco(参见例如ImagePipelineExperiments#disableNativeCode )。 它可能已准备好发布 v1.11 或 v1.12。 感谢@MikaelMorales

在这样的问题上,如果没有我们可以使用的完整重现,我们真的很难取得进展。 在这里,从 build.gradle 文件中获取片段似乎是不够的。 它需要是一个最小但完整的项目。

如果您确实有本地复制品,则可以通过以下方式帮助我们和此线程上的每个人:

  • 检查它是否使用展示应用程序重现
  • 然后逐渐从展示应用程序转到您的构建配置并观察它在哪一点中断

这是我们非常需要您帮助的问题! 我添加了“bug”标签,以便陈旧的机器人保持安静。

@ch4ndu ,您已经正确地观察到armeabi缺少最新的 Fresco 版本。 它在 NDK r17 (https://developer.android.com/ndk/guides/abis) 中被删除

W/System.err: java.lang.UnsatisfiedLinkError: 找不到要加载的 DSO: libimagepipeline.so
如何修复

ndk { abiFilters "armeabi" }
实施 'com.facebook. 壁画:壁画:1.11.0'
实施 'com.facebook. 壁画:动画gif :1.11.0'
实施 'com.facebook. 壁画:动画网页:1.11.0'
实施 'com.facebook. 壁画:webpsupport :1.11.0'

嗨,我可能找到了另一种重现此问题的方法。

我们使用 Fresco 1.11 在我们的应用程序中加载一些静态图像和动画 GIF。 当我们构建和安装 APK 时,它们都可以很好地工作,但当我们从 Android Studio 构建应用程序包并且我们使用 bundletool 来构建( build-apks )和安装( install-apks )APK 时,它们都运行良好。 在这种情况下,不会加载 GIF,但当我们尝试加载它们时应用程序不会崩溃,并且尝试加载静态图像会导致应用程序崩溃 ( couldn't find DSO to load: libimagepipeline.so )。

我们已经尝试在 Fresco 的 ImagePipelineConfig 中设置.experiment().setNativeCodeDisabled(true)并且静态图像可以工作,但 GIF 因不同的错误( couldn't find DSO to load: libgifimage.so )而崩溃。 即使这有效,我们也不会在生产中使用称为“.experiment()”的东西。

我正在使用 Android Gradle 插件 3.2.1、Android Studio 3.3 beta 4 和 bundletool 0.7.1。 我正在 Android 8.1.0 手机上进行测试。

有没有办法可靠地将 Fresco 与应用程序包一起使用? 这阻止了我们目前转向新格式。 谢谢!

这是在打开实验后尝试加载 GIF 时的崩溃:

11-22 16:39:03.339 18019 18019 D SoLoader: init start
11-22 16:39:03.340 18019 18019 D SoLoader: adding system library source: /vendor/lib
11-22 16:39:03.340 18019 18019 D SoLoader: adding system library source: /system/lib
11-22 16:39:03.340 18019 18019 D SoLoader: adding application source: com.facebook.soloader.DirectorySoSource[root = /data/app/com.packagename--UQkiLx1zhtubNxSl35TMg==/lib/arm64 flags = 0]
11-22 16:39:03.341 18019 18019 D SoLoader: adding backup  source: com.facebook.soloader.ApkSoSource[root = /data/data/com.packagename/lib-main flags = 1]
11-22 16:39:03.341 18019 18019 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /system/lib flags = 2]
11-22 16:39:03.341 18019 18019 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /vendor/lib flags = 2]
11-22 16:39:03.341 18019 18019 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /data/app/com.packagename--UQkiLx1zhtubNxSl35TMg==/lib/arm64 flags = 0]
11-22 16:39:03.342 18019 18019 D SoLoader: Preparing SO source: com.facebook.soloader.ApkSoSource[root = /data/data/com.packagename/lib-main flags = 1]
11-22 16:39:03.343 18019 18019 V fb-UnpackingSoSource: locked dso store /data/user/0/com.packagename/lib-main
11-22 16:39:03.347 18019 18019 I fb-UnpackingSoSource: dso store is up-to-date: /data/user/0/com.packagename/lib-main
11-22 16:39:03.347 18019 18019 V fb-UnpackingSoSource: releasing dso store lock for /data/user/0/com.packagename/lib-main
11-22 16:39:03.347 18019 18019 D SoLoader: init finish: 4 SO sources prepared
11-22 16:39:03.347 18019 18019 D SoLoader: init exiting

11-22 16:39:04.327 18019 18293 D SoLoader: About to load: libgifimage.so
11-22 16:39:04.328 18019 18293 D SoLoader: libgifimage.so not found on /data/data/com.packagename/lib-main
11-22 16:39:04.328 18019 18293 D SoLoader: libgifimage.so not found on /data/app/com.packagename--UQkiLx1zhtubNxSl35TMg==/lib/arm64
11-22 16:39:04.329 18019 18293 D SoLoader: libgifimage.so not found on /vendor/lib
11-22 16:39:04.329 18019 18293 D SoLoader: libgifimage.so not found on /system/lib
11-22 16:39:04.339 18019 18293 E SoLoader: couldn't find DSO to load: libgifimage.so
11-22 16:39:04.348 18019 18293 E AndroidRuntime: FATAL EXCEPTION: FrescoDecodeExecutor-2
11-22 16:39:04.348 18019 18293 E AndroidRuntime: Process: com.packagename, PID: 18019
11-22 16:39:04.348 18019 18293 E AndroidRuntime: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libgifimage.so
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:703)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:564)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:500)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:455)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.animated.gif.GifImage.ensure(GifImage.java:42)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.animated.gif.GifImage.create(GifImage.java:70)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.animated.gif.GifImage.decode(GifImage.java:89)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.animated.factory.AnimatedImageFactoryImpl.decodeGif(AnimatedImageFactoryImpl.java:85)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.fresco.animation.factory.AnimatedFactoryV2Impl$1.decode(AnimatedFactoryV2Impl.java:86)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.decoder.DefaultImageDecoder.decodeGif(DefaultImageDecoder.java:136)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.decoder.DefaultImageDecoder$1.decode(DefaultImageDecoder.java:60)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.decoder.DefaultImageDecoder.decode(DefaultImageDecoder.java:121)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.doDecode(DecodeProducer.java:276)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder.access$200(DecodeProducer.java:123)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.DecodeProducer$ProgressiveDecoder$1.run(DecodeProducer.java:165)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.JobScheduler.doJob(JobScheduler.java:202)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.JobScheduler.access$000(JobScheduler.java:22)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.producers.JobScheduler$1.run(JobScheduler.java:73)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:51)
11-22 16:39:04.348 18019 18293 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:764)

在打开实验之前尝试加载静态图像时的崩溃如下。 尝试加载 GIF 时,跟踪是相似的( couldn't find DSO to load: libimagepipeline.so ),但没有遇到致命的异常。

11-22 16:08:49.551 13724 13724 D SoLoader: init start
11-22 16:08:49.551 13724 13724 D SoLoader: adding system library source: /vendor/lib
11-22 16:08:49.551 13724 13724 D SoLoader: adding system library source: /system/lib
11-22 16:08:49.552 13724 13724 D SoLoader: adding application source: com.facebook.soloader.DirectorySoSource[root = /data/app/com.packagename-VWSKdOesFkJ5ehUD4vU9aw==/lib/arm64 flags = 0]
11-22 16:08:49.552 13724 13724 D SoLoader: adding backup  source: com.facebook.soloader.ApkSoSource[root = /data/data/com.packagename/lib-main flags = 1]
11-22 16:08:49.552 13724 13724 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /system/lib flags = 2]
11-22 16:08:49.553 13724 13724 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /vendor/lib flags = 2]
11-22 16:08:49.553 13724 13724 D SoLoader: Preparing SO source: com.facebook.soloader.DirectorySoSource[root = /data/app/com.packagename-VWSKdOesFkJ5ehUD4vU9aw==/lib/arm64 flags = 0]
11-22 16:08:49.553 13724 13724 D SoLoader: Preparing SO source: com.facebook.soloader.ApkSoSource[root = /data/data/com.packagename/lib-main flags = 1]
11-22 16:08:49.554 13724 13724 V fb-UnpackingSoSource: locked dso store /data/user/0/com.packagename/lib-main
11-22 16:08:49.556 13724 13724 I fb-UnpackingSoSource: dso store is up-to-date: /data/user/0/com.packagename/lib-main
11-22 16:08:49.556 13724 13724 V fb-UnpackingSoSource: releasing dso store lock for /data/user/0/com.packagename/lib-main
11-22 16:08:49.556 13724 13724 D SoLoader: init finish: 4 SO sources prepared
11-22 16:08:49.556 13724 13724 D SoLoader: init exiting

11-22 16:08:50.468 13724 13809 D SoLoader: About to load: libimagepipeline.so
11-22 16:08:50.472 13724 13809 D SoLoader: libimagepipeline.so not found on /data/data/com.packagename/lib-main
11-22 16:08:50.472 13724 13809 D SoLoader: libimagepipeline.so not found on /data/app/com.packagename-VWSKdOesFkJ5ehUD4vU9aw==/lib/arm64
11-22 16:08:50.472 13724 13809 D SoLoader: libimagepipeline.so not found on /vendor/lib
11-22 16:08:50.473 13724 13809 D SoLoader: libimagepipeline.so not found on /system/lib
11-22 16:08:50.476 13724 13809 E SoLoader: couldn't find DSO to load: libimagepipeline.so
11-22 16:08:50.480 13724 13815 I zygote64: Rejecting re-init on previously-failed class java.lang.Class<com.facebook.imagepipeline.memory.NativeMemoryChunk>: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.soloader.SoLoader.doLoadLibraryBySoName(java.lang.String, int, android.os.StrictMode$ThreadPolicy) (SoLoader.java:703)
11-22 16:08:50.481 13724 13815 I zygote64:   at boolean com.facebook.soloader.SoLoader.loadLibraryBySoName(java.lang.String, java.lang.String, java.lang.String, int, android.os.StrictMode$ThreadPolicy) (SoLoader.java:564)
11-22 16:08:50.481 13724 13815 I zygote64:   at boolean com.facebook.soloader.SoLoader.loadLibrary(java.lang.String, int) (SoLoader.java:500)
11-22 16:08:50.481 13724 13815 I zygote64:   at boolean com.facebook.soloader.SoLoader.loadLibrary(java.lang.String) (SoLoader.java:455)
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load() (ImagePipelineNativeLoader.java:40)
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>() (NativeMemoryChunk.java:31)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.memory.NativeMemoryChunk com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(int) (NativeMemoryChunkPool.java:25)
11-22 16:08:50.481 13724 13815 I zygote64:   at java.lang.Object com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(int) (NativeMemoryChunkPool.java:13)
11-22 16:08:50.481 13724 13815 I zygote64:   at java.lang.Object com.facebook.imagepipeline.memory.BasePool.get(int) (BasePool.java:267)
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init>(com.facebook.imagepipeline.memory.MemoryChunkPool, int) (MemoryPooledByteBufferOutputStream.java:51)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.memory.MemoryPooledByteBuffer com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(java.io.InputStream, int) (MemoryPooledByteBufferFactory.java:73)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.common.memory.PooledByteBuffer com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(java.io.InputStream, int) (MemoryPooledByteBufferFactory.java:24)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.image.EncodedImage com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(java.io.InputStream, int) (LocalFetchProducer.java:87)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.image.EncodedImage com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(java.io.InputStream, int) (LocalFetchProducer.java:99)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.image.EncodedImage com.facebook.imagepipeline.producers.LocalAssetFetchProducer.getEncodedImage(com.facebook.imagepipeline.request.ImageRequest) (LocalAssetFetchProducer.java:37)
11-22 16:08:50.481 13724 13815 I zygote64:   at com.facebook.imagepipeline.image.EncodedImage com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult() (LocalFetchProducer.java:52)
11-22 16:08:50.481 13724 13815 I zygote64:   at java.lang.Object com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult() (LocalFetchProducer.java:48)
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.common.executors.StatefulRunnable.run() (StatefulRunnable.java:43)
11-22 16:08:50.481 13724 13815 I zygote64:   at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1162)
11-22 16:08:50.481 13724 13815 I zygote64:   at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:636)
11-22 16:08:50.481 13724 13815 I zygote64:   at void com.facebook.imagepipeline.core.PriorityThreadFactory$1.run() (PriorityThreadFactory.java:51)
11-22 16:08:50.481 13724 13815 I zygote64:   at void java.lang.Thread.run() (Thread.java:764)
11-22 16:08:50.481 13724 13815 I zygote64: 
11-22 16:08:50.507 13724 13809 E AndroidRuntime: FATAL EXCEPTION: FrescoIoBoundExecutor-1
11-22 16:08:50.507 13724 13809 E AndroidRuntime: Process: com.packagename, PID: 13724
11-22 16:08:50.507 13724 13809 E AndroidRuntime: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:703)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:564)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:500)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:455)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:40)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>(NativeMemoryChunk.java:31)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:25)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:13)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:267)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init>(MemoryPooledByteBufferOutputStream.java:51)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(MemoryPooledByteBufferFactory.java:73)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(MemoryPooledByteBufferFactory.java:24)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:87)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:99)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalAssetFetchProducer.getEncodedImage(LocalAssetFetchProducer.java:37)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:52)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:48)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:43)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:51)
11-22 16:08:50.507 13724 13809 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:764)
11-22 16:08:50.512 13724 13810 E AndroidRuntime: FATAL EXCEPTION: FrescoIoBoundExecutor-2
11-22 16:08:50.512 13724 13810 E AndroidRuntime: Process: com.packagename, PID: 13724
11-22 16:08:50.512 13724 13810 E AndroidRuntime: java.lang.NoClassDefFoundError: <clinit> failed for class com.facebook.imagepipeline.memory.NativeMemoryChunk; see exception in other thread
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:25)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:13)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:267)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init>(MemoryPooledByteBufferOutputStream.java:51)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(MemoryPooledByteBufferFactory.java:73)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer(MemoryPooledByteBufferFactory.java:24)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:87)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:99)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalAssetFetchProducer.getEncodedImage(LocalAssetFetchProducer.java:37)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:52)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:48)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:43)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:51)
11-22 16:08:50.512 13724 13810 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:764)

你好,我们又见面了,

我试图用展示应用程序重现这个问题,检查标签 v1.11.0,但它没有编译。 我试图遵循https://frescolib.org/docs/building-from-source.html但我认为这已经过时了(例如它谈到了文件夹 android-ndk/r10e 但在我的安装中不存在,并且最新版本是 r18b)。

如果我尝试从 Android Studio 运行展示应用程序,则会得到Process 'command '<mySdkPath>/ndk-bundle/ndk-build'' finished with non-zero exit value 2

从命令行运行./gradlew build ,我得到:

> Task :imagepipeline:ndk_build_bitmaps FAILED
A problem was found with the configuration of task ':imagepipeline:ndk_build_bitmaps'. Registering invalid inputs and outputs via TaskInputs and TaskOutputs methods has been deprecated and is scheduled to be removed in Gradle 5.0.
 - File '<myWorkspace>/fresco/imagepipeline/src/main/jni/bitmaps' specified for property '$1' is not a file.
Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-16.    
make: Entering directory `<myWorkspace>/fresco/imagepipeline/src/main/jni/bitmaps'
<mySdkPath>/ndk-bundle/build/core/add-application.mk:178: *** make: Leaving directory `<myWorkspace>/fresco/imagepipeline/src/main/jni/bitmaps'
Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared. See https://developer.android.com/ndk/guides/cpp-support.html for more information.    .  Stop.

FAILURE: Build failed with an exception.

我试过将 APP_PLATFORM 设置为不同的值,关于它的行消失了,但错误是一样的。

Android Studio 3.3 RC 1 仍然会出现此问题。

帮我!

java.lang.UnsatisfiedLinkError:找不到要加载的 DSO:libimagepipeline.so 导致:dlopen 失败:“/data/data/com.vipabc.vipmobilejr.phone/lib-main/libimagepipeline.so”改为 64 位32 位的

当我使用 okhttp 集成时,我只出现了这个问题。
但没有它,我的应用程序将无法开始下载图像。

大家好,我确实理解这个问题的挫败感。

我想让您知道,我们非常了解本机代码的(各种)问题及其导致的问题。 我们正在积极致力于允许在没有任何本机代码的情况下使用 Fresco(参见例如ImagePipelineExperiments#disableNativeCode )。 它可能已准备好发布 v1.11 或 v1.12。 感谢@MikaelMorales

在这样的问题上,如果没有我们可以使用的完整重现,我们真的很难取得进展。 在这里,从 build.gradle 文件中获取片段似乎是不够的。 它需要是一个最小但完整的项目。

如果您确实有本地复制品,则可以通过以下方式帮助我们和此线程上的每个人:

  • 检查它是否使用展示应用程序重现
  • 然后逐渐从展示应用程序转到您的构建配置并观察它在哪一点中断

这是我们非常需要您帮助的问题! 我添加了“bug”标签,以便陈旧的机器人保持安静。

@ch4ndu ,您已经正确地观察到armeabi缺少最新的 Fresco 版本。 它在 NDK r17 (https://developer.android.com/ndk/guides/abis) 中被删除

您只需购买 Android 5.1.1 的 OPPO r7 即可自行重现此问题。
请注意,您应该与 okhttp 集成以使其抛出异常。

那么是否有任何错误修复或解决方法? 否则我会使用另一个库,因为这么长时间的错误是一个很大的NO。

我找到了一种解决方法.. 只需将此添加到 build.gradle 中的 android 标签

packagingOptions { exclude "lib/arm64-v8a/libimagepipeline.so" exclude "lib/arm64-v8a/libnative-imagetranscoder.so" }

没什么大不了的。 自 2017 年以来,Google 的 API 中还有一堆错误尚未解决。这导致我的应用程序每天崩溃 2000 次。 他们只是没有把错误当作新功能那么重要。 唯一能在一周内修复它的是 Twitter。

因此,排除选项也不能完全工作。在某些三星设备(S8 和 Xcover4)上崩溃。

更好的解决方法:使用 fresco 1.7.1 在 simpledrawview 中快速流畅地显示图像
并使用 glide 调整大小(因为 1.7.1 有时没有正确调整大图像的大小 - 1.12.1 做到了。但 1.12.1 有这个 .so 错误/崩溃)。

PS.: 也试过 Picasso,但它需要很多内存..(即使是 2.7 版本)。

(请注意,我不再在 Fresco 上工作,而是作为用户发言)

我们将针对此问题尝试以下解决方法,这需要 Fresco 1.11 或更高版本。

将图像管道配置为使用缓冲内存而不是本机内存(okhttp 示例):

ImagePipelineConfig config = 
    OkHttpImagePipelineConfigFactory.newBuilder(context, okHttpClient)
        .setMemoryChunkType(MemoryChunkType.BUFFER_MEMORY)
        .build()
Fresco.initialize(context, config);

我不建议将此解决方案用于运行 Android 4.x 或更低版本且 RAM 小于 1GB 的设备。

此外,如果您不使用本机过滤器或转码器,您应该在您的 gradle 文件中排除它们:

implementation('com.facebook.fresco:fresco:1.12.1') {
  exclude module: 'nativeimagefilters'
  exclude module: 'nativeimagetranscoder'
}

我们需要一两个星期才能确认这消除了我们应用程序中的错误。 @oprisnik ,这可以添加到文档中吗? 此外,通过此更改,应该可以将 libimagepipeline.so 从不使用它的应用程序中排除,但情况似乎并非如此。

我在生产中使用了您的解决方案:

实现('com.facebook.fresco:壁画:1.12.1'){
排除模块:'nativeimagefilters'
排除模块:'nativeimagetranscoder'
}

仍然崩溃:
由 java.lang.UnsatisfiedLinkError 引起
找不到要加载的 DSO:libstatic-webp.so
com.facebook.soloader.SoLoader.initSoSources(来源不明)
com.facebook.soloader.SoLoader.init(来源不明)
com.facebook.soloader.SoLoader.init(来源不明)
com.facebook.soloader.SoLoader.init(来源不明)
com.facebook.imagepipeline.nativecode.StaticWebpNativeLoader.ensure(来源不明)
com.facebook.animated.webp.WebPImage.create(来源不明)

@galrom只有当您包含 static-webp 模块(以前称为 webpsupport)时才会发生这种情况。 仅当您的应用支持 Android 4.2.0 或更低版本时才应执行此操作。 即便如此,您只需要无损或透明 webp - 对于基本 webp,您可以在没有 static-webp 的情况下使用 Android 4.0。

我们的dependency graph没有显示static-webp module痕迹,我们经历了这次崩溃

我对 Oppo os v5 也有同样的问题。

// Fresco
    api 'com.facebook.fresco:fresco:1.13.0'
    api 'com.facebook.fresco:animated-webp:1.13.0'
    api 'com.facebook.fresco:imagepipeline-okhttp3:1.13.0'

image

确认我们的应用程序 (Memrise) 使用我上面发布的代码完全消除了这个崩溃。 我们没有使用 static-webp,所以这对我们来说不是问题。

太棒了,感谢您确认@tyronen。 我们将更新文档。 也许我们也应该将其设为 >4x 的默认行为。

我对 Oppo os v5 也有同样的问题。

// Fresco
    api 'com.facebook.fresco:fresco:1.13.0'
    api 'com.facebook.fresco:animated-webp:1.13.0'
    api 'com.facebook.fresco:imagepipeline-okhttp3:1.13.0'

image

我在同一版本 1.13.0 中也遇到了这个问题,所以,我想知道如何在不删除 arm64 支持的情况下解决这个问题。 @oprisnik
image

为什么 Facebook 没有解决这个问题? 我们已经发布了很多问题,但他们仍在要求报告。 Facebook 团队的支持如此糟糕。

我对 Oppo os v5 也有同样的问题。

// Fresco
    api 'com.facebook.fresco:fresco:1.13.0'
    api 'com.facebook.fresco:animated-webp:1.13.0'
    api 'com.facebook.fresco:imagepipeline-okhttp3:1.13.0'

image

我在同一版本 1.13.0 中也遇到了这个问题,所以,我想知道如何在不删除 arm64 支持的情况下解决这个问题。 @oprisnik
image

你有什么解决办法吗?

您可以尝试使用上面列出的解决方案吗? https://github.com/facebook/fresco/issues/2049#issuecomment -462880309

您可以尝试使用上面列出的解决方案吗? 第2049章(评论)

我已经尝试过这个解决方案,但它仍然使应用程序崩溃

同样的问题,我使用实现'com.facebook。 壁画:壁画:2.0.0'

我正在使用'com.facebook。 壁画:壁画:2.0.0'。
在我的 HUAWEI HORNOR 8 设备上遇到了同样的问题。
刚刚添加
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
在 defaultConfig 中解决了我的问题。

同样在这里,它基本上发生在每个系统版本 6 及更高版本和大多数设备品牌中

我正在使用'com.facebook。 壁画:壁画:2.0.0'。
在我的 HUAWEI HORNOR 8 设备上遇到了同样的问题。
刚刚添加
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
在 defaultConfig 中解决了我的问题。

@glovebx您可能想要检查限制为 32 位是否不会导致您对 64 位 google 的要求出现问题: https :

据我了解,从 1.08.2019 开始,需要新应用程序或现有应用程序的更新才能支持 64Bit

在解决此问题之前,我有一个折衷的解决方案。
https://github.com/facebook/fresco/issues/2381#issuecomment -516825599
希望能帮到你

@ShawnDongAi谢谢你分享这个👍! 对我们来说有点太晚了 :) 由于这里的壁画问题,我们搬到了另一个图像库。

https://github.com/facebook/SoLoader/pull/45应该可以解决这里的一些问题。 我们还致力于使 SoLoader 成为可选的,以便您可以使用其他机制来加载本机代码。

使用 RN 0.60.5 版本。
如果你们想知道为什么从 Playstore 下载应用程序会崩溃,请进行以下更改

包装选项{
排除'/lib/arm64-v8a/libc++_shared.so'(排除'/lib/arm64-v8a/error_causing_library.so')
排除'/lib/x86_64/libc++_shared.so'(排除'/lib/arm64-v8a/error_causing_library.so')

//In pickFirst, replace the library name with the library that is causing error.
pickFirst '/lib/x86/libc++_shared.so' (pickFirst '/lib/x86/error_causing_library.so')
pickFirst '/lib/armeabi-v7a/libc++_shared.so' (pickFirst '/lib/armeabi-v7a/error_causing_library.so')

}

如果您不知道是哪个库导致了崩溃,请在 Firebase 测试实验室上传您的包,然后检查。 它会告诉你哪个库抛出了错误

@Balajipss不会排除所有 64 位库会导致 Google 的 64 位要求出现任何问题: https : //android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit .html ?

@waseefakhtar您可以进行以下更改

包装选项{
排除'/lib/arm64-v8a/libc++_shared.so'
排除'/lib/x86_64/libc++_shared.so'
pickFirst '/lib/x86/libc++_shared.so'
pickFirst '/lib/armeabi-v7a/libc++_shared.so'
}

有没有人有一个分步列表来重现这个问题? 我们在生产中面临它,但我们无法在本地重现它,即使使用我们的崩溃通知程序显示的同一部手机也是如此。

@juanimoli不确定,但大多数运行 OS 5 的 Oppo 设备似乎都面临这个问题。

@waseefakhtar我能够通过在 bundletool 的设备规格 json 文件选项(使用 AppBundle)中为“armeabi-v7a”编译应用程序来重现该问题。 在受支持的设备上安装该应用程序并立即出现崩溃。

我能够通过应用2381#issuecomment-516825599来修复它,而没有添加 abiFilters 或 excludes。

我用的是 fresco 1.13.0,一直没问题。 当更新到 2.0.0 时,我遇到了这个问题。然后我检查了我的新 apk,我发现我的 apk 中没有 libimagepipeline.so。然后我清理我的项目,构建一个新的 apk。我的新 apk 中有 libimagepipeline.so . 问题解决了,这可能是android studio的问题!

我已经通过这种方式解决了这个问题!

defaultConfig { ... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "x86_64", "mips", "mips64" } }

我更新到 AndroidX,然后突然间我在本地环境中有couldn't find DSO to load: libimagepipeline.so ,我设法通过将项目复制到另一个路径来修复它。

我不知道,但猜测 Gradle 缓存出了问题。 (虽然 Gradle 缓存已清除)

如果有人知道,我想知道根本原因。

升级到 Fresco 2.1.0 后发生在我们这边

我通过进行以下更改来修复它:

implementation('com.facebook.fresco:fresco:2.1.0') {
        exclude group: 'com.facebook.soloader', module: 'soloader'
}
implementation('com.facebook.fresco:imagepipeline-okhttp3:2.1.0') {
        exclude group: 'com.facebook.soloader', module: 'soloader'
}

在此更改之后,Fresco 将使用本机加载器而不是 soLoader 来加载任何本机库。

您还应该添加exclude group: 'com.facebook.fresco', module: 'soloader' ,有关更多详细信息,请参阅 2.1.0 版本:

https://github.com/facebook/fresco/releases/tag/v2.1.0

我最近从毕加索搬到了 Fresco,刚刚在 Playstore 上推出了更新的应用程序。 现在在它的第一天,我在我的应用程序中看到了这个错误。 在趋势设备上的 android 版本 7.1.2 上看到崩溃

Screenshot (158)

现在有没有可用的解决方案

可能的解决方案:

@oprisnik我尝试将上述 3 个解决方案升级到 2.2.0 并在 firebase 中测试了该应用程序,但在测试过程中我遇到了这个错误

java.lang.RuntimeException:无法创建应用程序 com.example.xyz.MyApplication:java.lang.RuntimeException:本机代码设置错误,反射失败。

仅在运行 API 19 的设备中。

我用过

` implementation('com.facebook.fresco:fresco:2.2.0') {  
  exclude group: 'com.facebook.soloader', module: 'soloader'
  exclude group: 'com.facebook.fresco', module: 'soloader'
  exclude group: 'com.facebook.fresco', module: 'nativeimagefilters'
  exclude group: 'com.facebook.fresco', module: 'nativeimagetranscoder'
  exclude group: 'com.facebook.fresco', module: 'memory-type-native'
  exclude group: 'com.facebook.fresco', module: 'imagepipeline-native' }`

初始化壁画使用

             `Fresco.initialize(
                     getApplicationContext(),
                     ImagePipelineConfig.newBuilder(getApplicationContext())
                    .setMemoryChunkType(MemoryChunkType.BUFFER_MEMORY)
                    .setImageTranscoderType(ImageTranscoderType.JAVA_TRANSCODER)
                    .experiment().setNativeCodeDisabled(true)
                    .build());`

完整的堆栈跟踪是

java.lang.RuntimeException:无法创建应用程序 com.example.xyz.MyApplication:java.lang.RuntimeException:本机代码设置错误,反射失败。
致命异常:主要
进程:com.example.xyz,PID:29863
java.lang.RuntimeException:无法创建应用程序 com.example.xyz.MyApplication:java.lang.RuntimeException:本机代码设置错误,反射失败。
在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4423)
在 android.app.ActivityThread.access$1500(ActivityThread.java:139)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
在 android.os.Handler.dispatchMessage(Handler.java:102)
在 android.os.Looper.loop(Looper.java:136)
在 android.app.ActivityThread.main(ActivityThread.java:5097)
在 java.lang.reflect.Method.invokeNative(Native Method)
在 java.lang.reflect.Method.invoke(Method.java:515)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
在 dalvik.system.NativeStart.main(本机方法)
引起:java.lang.RuntimeException:本机代码设置错误,反射失败。
在 com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:51)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformDecoder(ImagePipelineFactory.java:312)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformBitmapFactory(ImagePipelineFactory.java:304)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getAnimatedFactory(ImagePipelineFactory.java:164)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getImageDecoder(ImagePipelineFactory.java:227)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerFactory(ImagePipelineFactory.java:327)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerSequenceFactory(ImagePipelineFactory.java:360)
在 com.facebook.imagepipeline.core.ImagePipelineFactory.getImagePipeline(ImagePipelineFactory.java:282)
在 com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier。(PipelineDraweeControllerBuilderSupplier.java:52)
在 com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier。(PipelineDraweeControllerBuilderSupplier.java:43)
在 com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier。(PipelineDraweeControllerBuilderSupplier.java:36)
在 com.facebook.drawee.backends.pipeline.Fresco.initializeDrawee(Fresco.java:121)
在 com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:110)
在 com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:54)
在 com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:46)
在 com.example.xyz.MyApplication.onCreate(MyApplication.java:26)
在 android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1030)
在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4420)
……还有 10 个
引起:java.lang.ClassNotFoundException:com.facebook.imagepipeline.platform.KitKatPurgeableDecoder
在 java.lang.Class.classForName(Native Method)
在 java.lang.Class.forName(Class.java:251)
在 java.lang.Class.forName(Class.java:216)
在 com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:44)
……还有 27 个
引起:java.lang.NoClassDefFoundError:com/facebook/imagepipeline/platform/KitKatPurgeableDecoder
... 31 更多
引起:java.lang.ClassNotFoundException:在路径上找不到类“com.facebook.imagepipeline.platform.KitKatPurgeableDecoder”:DexPathList[[zip file “/data/app/com.example.xyz-1.apk”,压缩文件“/data/data/com.example.xyz/code_cache/secondary-dexes/com.example.xyz-1.apk.classes2.zip”,压缩文件“/data/data/com.example.xyz/code_cache /secondary-dexes/com.example.xyz-1.apk.classes3.zip"],nativeLibraryDirectories=[/data/app-lib/com.example.xyz-1, /vendor/lib, /system/lib]]
在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:497)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:457)
... 31 更多

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

sungerk picture sungerk  ·  3评论

amodkanthe picture amodkanthe  ·  3评论

goodev picture goodev  ·  4评论

qiiyue picture qiiyue  ·  4评论

rhettor picture rhettor  ·  3评论