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へのアップデートでこれらの問題を修正できるかどうか、またはbuild.gradleにcompile 'com.facebook.soloader:soloader:0.1.0+'を追加する必要があるかどうかを知りたい

追加情報

  • フレスコ版:
    compile 'com.facebook.fresco:fresco:1.8.0'
    compile 'com.facebook.fresco:animated-gif:1.8.10'
  • プラットフォームバージョン:
    OPPO-OS: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)
4com.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)
6com.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)
10com.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ボルト.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 } }

およびmultidex構成
-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でのみ発生する理由がわかりません-OS:Android 5.1.1およびバージョン1.8.0に更新する前は、これらの問題は同じビルド構成では発生しません

こんにちは@ hsandyque 、1.8.0以降Frescoに同梱されているため、 soloaderへの追加の依存関係は必要ありません。 他のバグが修正されるので、1.8.1に更新することをお勧めします。

build.gradleファイルは、 @ oprisnikが投稿したリンクで説明されているように、 proguard-fresco.proファイルを参照する必要があります。

明確にするために:このバグはその特定のデバイスでのみ発生しますか? 共有できるadb logcat出力はありますか?

こんにちは@lambdapioneer
明確にするために:このバグはその特定のデバイスでのみ発生しますか? 共有できるadblogcat出力はありますか?
はい、それはOPPO Android 5.1.1デバイス(R7sfg / R7g / A51fa)でのみ発生します
そして、添付ファイルはlogcatsです
1.txt
2.txt

こんにちは@hsandyque 、それは

現在、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(SourceFile:522)で
com.facebook.soloader.ja(SourceFile:420)で
com.facebook.soloader.ja(SourceFile:370)で
com.facebook.soloader.ja(SourceFile:335)で
com.facebook.imagepipeline.nativecode.aa(SourceFile:42)で
com.facebook.imagepipeline.memory.NativeMemoryChunkで。(SourceFile:33)
com.facebook.imagepipeline.memory.li(SourceFile:58)で
com.facebook.imagepipeline.memory.lb(SourceFile:20)で
com.facebook.imagepipeline.memory.aa(SourceFile:257)で
com.facebook.imagepipeline.memory.oで。(SourceFile:51)
com.facebook.imagepipeline.memory.nb(SourceFile:98)で
com.facebook.imagepipeline.memory.na(SourceFile:26)で
com.facebook.imagepipeline.producers.za(SourceFile:89)で
com.facebook.imagepipeline.producers.zb(SourceFile:101)で
com.facebook.imagepipeline.producers.aa.a(SourceFile:34)で
com.facebook.imagepipeline.producers.z $ 1.d(SourceFile:54)で
com.facebook.imagepipeline.producers.z $ 1.c(SourceFile:50)で
com.facebook.common.berun(SourceFile: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)
4com.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)
6com.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)
10com.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ボルト.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"
        }

私のために働いた。 しかし、上記の会話を読むと、それは「正しい」解決策ではないように思われますか?

私のチームも同じ問題を抱えており、このような3番目のライブラリから(原因はフレスコの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でもこの問題が発生します。

私も同じ問題を抱えています。 アプリを開くとクラッシュします。 これは、Android5.0.2で実行されているHTCOneE9PLUSデュアルSIMでのみ発生します
エラー:致命的な例外:java.lang.UnsatisfiedLinkError
ロードするDSOが見つかりませんでした:libimagepipeline.so

更新:この問題が発生した場合は、問題を解決するFrescoWebサイトの制作ガイドを確認してください。

また、さまざまなデバイスでこの問題が発生しています。
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は、armv7aのみを対象としています。 一部のデバイスはarmv6またはarmv5である可能性がありますか? たとえば、 https: //forum.xda-developers.com/showthread.php

@oprisnikクラッシュする最も一般的な電話は、ARMv8プロセッサを搭載したAsusZenfone 3 Maxであるため、これはありそうもないと思います。 最も一般的なZTE電話はBladeV7で、これもARMv8を搭載しています。

1.8.1から1.10に移行しているときに、この問題が発生します。

アプリで使用するいくつかのコンポーネントでは、「armeabi」と「x86」の分割のみを使用する必要があります... v-1.10用のImagepipelineのaarファイルを見ると、「armeabi」バリアントはありません。 これは今後のケースになるのでしょうか? そのアーキテクチャのサポートを終了しますか?
ただし、.soファイルは1.9に存在します。

ここのリード

ねえ、最近この問題に関する活動はなかったようです。 問題は修正されましたか、それともコミュニティの注意が必要ですか? それ以上のアクティビティが発生しない場合、この問題は解決される可能性があります。 この問題に「バグ」または「拡張」というラベルを付けることもできます。開いたままにしておきます。 貢献していただきありがとうございます。

問題はまだあります

こんにちは皆さん、またお会いできてうれしいです。

@ lambdapioneer@ oprisnikこの問題は、

推奨される解決策(APKの分割)により、他の問題が発生します。 特に、APKを分割するには、ABIごとに個別のバージョンコードが必要です。 すでに複数の製品フレーバーとビルドタイプがあり、それらはすべてhockeyappなどの外部プラグインによって管理されている場合、分割するとチームの目が垂れ下がります。 この時点で、実際には、Glideに切り替えるよりもGlideに切り替える方が簡単です。

NativePooledByteBufferは、API> = 21にとってそれほど重要ではありません。これは、多くのアプリが現在ターゲットにしているものです(Dalvikは現在10%に低下しています)。 オプションにして、後のプラットフォームでは標準のJavaメモリを使用するだけの価値があるかもしれません。

私は後でこれに取り組むことができるかもしれません、しかし私はあなたがまだFBにいる誰かがそれをすることを好むと思うでしょう:)

ねえ@tyronen! 長い間あっていませんでしたね' :)

良いタイミングです。実際、現在誰かがこれに取り組んでいます(JavaバージョンのNativePooledByteBufferおよび同様のクラス)-したがって、これはすぐに修正されるはずです。

ただし、もう一度貢献したい場合は、他にも多くの未解決の問題や将来の改善のためのアイデアがあります。
また、Draweeとパイプラインの両方でいくつかの大きな変更を念頭に置いているため、状況はまもなく変更される可能性があります。

サムスンギャラクシーS9Android8はまだ動作しません。

私もこの問題に遭遇します。 これは、上で起こっOPPO A51電話、私が使用している間、それが表示されますFresco v1.8.1が、それは内に表示されませんでしたv0.12.0

だから私はこれが無視されると思いますか? バージョン1.8以降の最も人気のあるデバイスでクラッシュする...

api'com.facebook。 フレッシュ:フレッシュ:1.10.0 '
😂😂😂

すべてのアップデート?

ここで同じ問題
ほぼ8ヶ月の問題。
回避策を知っていますか? フレスコ画のダウングレードとソファーの使用は機能しますか?

みなさん、この問題への不満は理解しています。

ネイティブコードの(さまざまな)問題とそれが引き起こす問題を十分に認識していることをお知らせします。 私たちは、ネイティブコードなしでFrescoを使用できるようにすることに積極的に取り組んでいます(たとえば、 ImagePipelineExperiments#disableNativeCodeを参照)。 リリースv1.11またはv1.12で準備ができている可能性があります。 @MikaelMoralesへの称賛

このような問題については、完全な再現なしに進歩を遂げることは非常に困難です。 ここでは、build.gradleファイルからスニペットを取得するだけでは不十分なようです。 最小限の、しかし完全なプロジェクトである必要があります。

ローカルの再現がある場合は、次の方法で私たちとこのスレッドのすべての人を大いに助けることができます。

  • ショーケースアプリで再現できるか確認
  • 次に、ショーケースアプリからビルド構成に徐々に移行し、どの時点で破損するかを観察します

これは私たちがあなたの助けをたくさん必要とする問題です! stale-botが静かになるように、「bug」タグを追加しました。

@ ch4nduarmeabiに最新のFrescoバージョンがないことを正しく確認しました。 NDK r17(https://developer.android.com/ndk/guides/abis)で削除されました

W / System.err:java.lang.UnsatisfiedLinkError:ロードするDSOが見つかりませんでした:libimagepipeline.so
それを修正する方法

ndk {abiFilters "armeabi"}
実装 'com.facebook。 fresco:fresco :1.11.0 '
実装 'com.facebook。 fresco:animated-gif :1.11.0 '
実装 'com.facebook。 fresco:animated-webp :1.11.0 '
実装 'com.facebook。 fresco:webpsupport :1.11.0 '

こんにちは、私はこの問題を再現する別の方法を見つけたかもしれません。

Fresco 1.11を使用して、アプリに静止画像とアニメーションGIFを読み込みます。 どちらもAPKをビルドしてインストールする場合はうまく機能しますが、Android Studioからアプリバンドルをビルドし、bundletoolを使用してAPKをビルド( build-apks )してインストール( install-apks )する場合は機能しません。 その場合、GIFは読み込まれませんが、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ベータ4、bundletool0.7.1を使用しています。 Android8.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 RC1でも発生します。

助けて!

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ファイルからスニペットを取得するだけでは不十分なようです。 最小限の、しかし完全なプロジェクトである必要があります。

ローカルの再現がある場合は、次の方法で私たちとこのスレッドのすべての人を大いに助けることができます。

  • ショーケースアプリで再現できるか確認
  • 次に、ショーケースアプリからビルド構成に徐々に移行し、どの時点で破損するかを観察します

これは私たちがあなたの助けをたくさん必要とする問題です! stale-botが静かになるように、「bug」タグを追加しました。

@ ch4nduarmeabiに最新のFrescoバージョンがないことを正しく確認しました。 NDK r17(https://developer.android.com/ndk/guides/abis)で削除されました

Android5.1.1でOPPOr7を購入するだけで、この問題を自分で再現できます。
例外をスローさせるには、okhttpと統合する必要があることに注意してください。

では、バグ修正や回避策はありますか? それ以外の場合は、別のライブラリを使用します。これほど長い間、このようなバグは大きな問題ではないためです。

ちょっとした回避策を見つけました。これをbuild.gradleのandroidタグに追加するだけです。

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

それほど大したことではありません。 2017年以降、GoogleのAPIにはまだ解決されていないバグがたくさんあります。これにより、アプリで1日に2000回のクラッシュが発生しました。 彼らはただ新機能ほど重要なバグを取りません。 1週間で修正できるのはTwitterだけです。

そのため、除外オプションも完全には機能しません。一部のSamsungデバイス(S8およびXcover4)でクラッシュしました。

より良い回避策:simpledrawviewで画像を高速かつスムーズに表示するには、fresco1.7.1を使用します
そして、サイズ変更にグライドを使用します(1.7.1が大きな画像のサイズを正しく変更しないことがあるため-1.12.1はそうしました。しかし、1.12.1にはこの.soバグ/クラッシュがあります)。

PS。:Picassoも試しましたが、多くのメモリが必要です..(2.7バージョンでも)。

(私はもはやFrescoに取り組んでおらず、ユーザーとして話していることに注意してください)

この問題に対して次の回避策を試します。これにはFresco1.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'
}

これによりアプリのバグが解消されることを確認するには、1〜2週間かかります。 @oprisnik 、これをドキュメントに追加できますか? また、この変更により、libimagepipeline.soを使用していないアプリから除外できるようになるはずですが、そうではないようです。

私はあなたのソリューションを本番環境で使用しました:

実装( 'com.facebook.fresco: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と呼ばれていました)を含めている場合にのみ発生します。 これは、アプリがAndroid4.2.0以下をサポートしている場合にのみ行う必要があります。 それでも、ロスレスまたは透過的なWebPにのみ必要です。基本的なWebPの場合、static-webpなしでAndroid4.0に移行できます。

dependency graphstatic-webp moduleの痕跡を示さず、このクラッシュが発生します

私はOppoosv5でも同じ問題を抱えています。

// 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のデフォルトの動作にする必要があります。

私はOppoosv5でも同じ問題を抱えています。

// 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チームによるそのような悪いサポート。

私はOppoosv5でも同じ問題を抱えています。

// 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を使用しています。 fresco:fresco :2.0.0 '

私は 'com.facebookを使用しています。 fresco:fresco :2.0.0 '。
HUAWEI HORNOR8デバイスでも同じ問題が発生しました。
追加したばかり
ndk {abiFilters "armeabi"、 "armeabi-v7a"、 "x86"}
defaultConfigで私の問題を解決しました。

ここでも同じですが、基本的にすべてのシステムバージョン6以降およびほとんどのデバイスブランドで発生します

私は 'com.facebookを使用しています。 fresco:fresco :2.0.0 '。
HUAWEI HORNOR8デバイスでも同じ問題が発生しました。
追加したばかり
ndk {abiFilters "armeabi"、 "armeabi-v7a"、 "x86"}
defaultConfigで私の問題を解決しました。

@glovebx 32ビットに制限しても64ビットのGoogleの要件に問題が発生しないかどうかを確認することをお勧めします: https ://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-

私が理解したところによると、2019年1月8日以降、64ビットをサポートするには新しいアプリまたは既存のアプリの更新が必要になります

この問題が修正される前に、妥協案があります。
https://github.com/facebook/fresco/issues/2381#issuecomment -516825599
それがあなたを助けることができることを願っています

@ShawnDongAiこれを共有して

https://github.com/facebook/SoLoader/pull/45は、ここでいくつかの問題を修正するはずです。 また、SoLoaderをオプションにする作業も行っているため、代わりに他のメカニズムを使用してネイティブコードを読み込むことができます。

RN0.60.5バージョンを使用します。
Playストアからアプリをダウンロードすると、なぜアプリがクラッシュするのか疑問に思っている場合は、以下の変更を加えてください

PackagingOptions {
'/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次の変更を

PackagingOptions {
'/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はわかりませんが、 Oppoデバイスが問題に直面しているようです。

@waseefakhtar bundletoolのデバイス仕様jsonファイルオプションで「armeabi-v7a」のアプリをコンパイルすることで問題を再現できました(AppBundleを使用)。 サポートされているデバイスにアプリをインストールすると、すぐにクラッシュが発生しました。

abiFiltersまたはexcludesを追加せずに2381#issuecomment-516825599

私はフレスコ1.13.0を使用しましたが、それは常に問題ありませんでした。 2.0.0にアップデートすると、この問題が発生しました。新しいapkを確認したところ、apkにlibimagepipeline.soが見つかりませんでした。次に、プロジェクトをクリーンアップし、新しいAPKをビルドしました。新しいapkにlibimagepipeline.soがあります。 。 そして問題は修正されました、これはおそらくアンドロイドスタジオからの問題です!

私はこの方法でこの問題を解決しました!

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

最近、ピカソからフレスコに引っ越して、Playstoreで更新されたアプリを起動しました。 初日、アプリでこのエラーが発生しました。 クラッシュは、トレンドデバイスのAndroidバージョン7.1.2で見られました

Screenshot (158)

現在利用可能な実用的なソリューションはありますか

考えられる解決策:

@oprisnik 2.2.0にアップグレードした上記の3つのソリューションを試し、

java.lang.RuntimeException:アプリケーションを作成できませんcom.example.xyz.MyApplication:java.lang.RuntimeException:ネイティブコードのセットアップが間違っています。リフレクションに失敗しました。

API19を実行しているデバイスでのみ。

使っていた

` 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(ネイティブメソッド)で
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(ネイティブメソッド)で
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"、 zipファイル "/data/data/com.example.xyz/code_cache/secondary-dexes/com.example.xyz-1.apk.classes2.zip"、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 評価