Fresco: استثناء فادح: لم يتمكن java.lang.UnsatisfiedLinkError من العثور على DSO للتحميل: libimagepipeline.so / com.facebook.imagepipeline.memory.NativeMemoryChunk

تم إنشاؤها على ١١ فبراير ٢٠١٨  ·  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).

FrescoIoBound Executor-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)

FrescoIoBound Executor-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 مسمارًا. المهمة 4. تشغيل (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

تضمين التغريدة
إعداد البناء الخاص بي
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 config
-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 ، لست بحاجة إلى الاعتماد الإضافي على soloader لأنه يشحن الآن مع Fresco منذ 1.8.0. أوصي بالتحديث إلى 1.8.1 لأنه يصلح الأخطاء الأخرى.

يجب أن يشير ملف build.gradle إلى ملف proguard-fresco.pro كما هو موضح في الرابط الذي نشره oprisnik .

للتوضيح: هل يحدث هذا الخطأ _ فقط_ على هذا الجهاز بعينه؟ هل هناك أي مخرجات adb logcat يمكنك مشاركتها؟

مرحبا lambdapioneer ،
للتوضيح: هل يحدث هذا الخطأ فقط على هذا الجهاز بعينه؟ هل هناك أي إخراج adb logcat يمكنك مشاركته؟
نعم ، يحدث ذلك فقط على أجهزة OPPO Android 5.1.1 (R7sfg / R7g / A51fa)
و الحجوزات لوغكاتس
1.txt
2.txt

مرحبًا hsandyque ، نظرًا لأنه يحدث فقط مع هواتف

لا يمكنني الوصول إلى هاتف OPPO في الوقت الحالي ولا يمكنني العثور على مؤشرات أفضل عند البحث: /

(أ) هل يحدث هذا أيضًا عند تثبيت تطبيق الواجهة الذي لدينا في مستودعنا؟ (هذا من شأنه أن يقربني من تصحيح هذا الخطأ بمجرد أن أحصل على هاتف OPPO)
(ب) هل يمكنك توفير ناتج تشغيل unzip -l your_release.apk | grep lib/ في الإصدار APK الخاص بك؟ سيظهر ذلك الملفات المجمعة بالفعل.

مرحبا 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)

هههههههههههههه
لدي نفس المشكلة كيف أصلحه؟

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 (ملف المصدر: 42)
في com.facebook.imagepipeline.memory.NativeMemoryChunk.(ملف المصدر: 33)
في com.facebook.imagepipeline.memory.li (ملف المصدر: 58)
في com.facebook.imagepipeline.memory.lb (ملف المصدر: 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 (ملف المصدر: 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 (ملف المصدر: 53)
في java.lang.Thread.run (Thread.java:818)

تضمين التغريدة

هل تحدد أي عوامل تصفية ABI (نوع وحدة المعالجة المركزية) في ملفات gradle الخاصة بتطبيقاتك؟

تضمين التغريدة
لا أستخدم أي عوامل تصفية ABI في ملف gradle الخاص بي ، وأدرج بالفعل إعداد التفاصيل في الرد السابق

أستخدم الإصدار 1.8.1 أيضًا لدي نفس المشكلة ، الجهاز هو VIVO X7 (Android 5.1.1 ، arm64-v8a).

FrescoIoBound Executor-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)

FrescoIoBound Executor-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 مسمارًا. المهمة 4. تشغيل (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

MustafaHosny اللهم امين
نظرًا لأن 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 على النحو التالي رمز snap ، وتخطى "arm64-v8a"
defaultConfig { ... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "x86_64", "mips", "mips64" } }
إنه ليس الحل الصحيح ولكن ربما يتم إصلاح المشكلة في البداية ثم ننتظر التحديث

hsandyque شكرًا جزيلاً ، ردك مفيد جدًا ، نتطلع إلى التحديث الخاص بك!

oprisnikerikandrelambdapioneer
هل لديك أي فكرة عن كيفية إصلاح هذه المشكلة؟

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.

لا تزال تواجه هذه المشكلة على 1.9.0 مع دعم abis "armeabi" و "armeabi-v7a" و "x86"

لا تزال هذه المشكلة على v1.9.0.

أنا أيضا أواجه نفس المشكلة. تطبيقي يتعطل عند الفتح. يحدث فقط على HTC One E9PLUS dual sim الذي يعمل بنظام Android 5.0.2
خطأ: استثناء فادح: java.lang.UnsatisfiedLinkError
تعذر العثور على DSO للتحميل: libimagepipeline.so

تحديث: بالنسبة لأولئك الذين حصلنا على هذه المشكلة ، يرجى مراجعة دليل الإنتاج على موقع Fresco الإلكتروني ، والذي يحل مشكلتنا.

تظهر أيضًا هذه المشكلة على مجموعة متنوعة من الأجهزة:
image

استخدام فريسكو الإصدار 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؟ على سبيل المثال ، يبدو أن هناك عددًا غير قليل من أجهزة ZTE المزودة بـ v6 وفقًا لـ https://forum.xda-developers.com/showthread.php؟

oprisnik أعتقد أن هذا غير مرجح ، حيث أن الهاتف الأكثر شيوعًا هو Asus Zenfone 3 Max الذي يحتوي على معالج ARM v8. أكثر هواتف ZTE شيوعًا هو Blade V7 ، أيضًا مع ARM v8.

أرى هذه المشكلة أثناء الترحيل إلى 1.10 من 1.8.1

يجبرنا مكونان نستخدمهما في تطبيقنا على استخدام تقسيمات "armeabi" و "x86" فقط ... وبالنظر إلى ملف aar الخاص بـ Imagepipeline للإصدار v-1.10 ، فإن متغير "armeabi" غير موجود. هل سيكون هذا هو الحال في المستقبل؟ هل تتنازل عن الدعم لهذه العمارة؟
ملفات .so موجودة في 1.9 بالرغم من ذلك.

أي دليل هنا

مرحبًا ، يبدو أنه لم يكن هناك أي نشاط بشأن هذه المشكلة مؤخرًا. هل تم إصلاح المشكلة أم أنها لا تزال تتطلب اهتمام المجتمع؟ قد يتم إغلاق هذه المشكلة في حالة عدم حدوث أي نشاط آخر. يمكنك أيضًا تصنيف هذه المشكلة على أنها "خطأ" أو "تحسين" وسأتركها مفتوحة. شكرا لمساهماتكم.

القضية لا تزال قائمة

مرحبًا يا شباب ، من الجيد أن "أراك" مرة أخرى.

lambdapioneer ، oprisnik تم الإبلاغ عن هذه المشكلة في تجسيدات مختلفة منذ Fresco 0.1. تكمن المشكلة في العدد الكبير من الأجهزة التي تقوم بتحميل المكتبات ، وبعضها لا بد أن يعاني من مشاكل.

الحل الموصى به (تقسيم APK) يسبب مشاكل أخرى. من بين أمور أخرى ، يتطلب تقسيم APK رموز إصدار منفصلة لكل ABI. عندما يكون لديك بالفعل العديد من نكهات المنتجات وأنواع الإنشاءات ، والتي تتم إدارتها جميعًا بواسطة مكونات إضافية خارجية مثل hockeyapp ، فإن الانقسام يجعل عيون الفريق تتدلى. في هذه المرحلة ، سيكون من الأسهل بالفعل التبديل إلى Glide بدلاً من القيام بذلك.

NativePooledByteBuffer ليست مهمة حقًا لواجهة برمجة التطبيقات> = 21 ، وهو ما تستهدفه الكثير من التطبيقات الآن (انخفض Dalvik الآن إلى 10٪). قد يكون من المفيد جعلها اختيارية ، واستخدام ذاكرة Java القياسية للأنظمة الأساسية اللاحقة.

قد أتمكن من العمل على هذا لاحقًا ، لكنني أظن أنك تفضل شخصًا ما يزال في FB للقيام بذلك :)

ياtyronen! وقت طويل لا رؤية' :)

توقيت جيد ، لدينا بالفعل شخص ما يعمل على هذا الآن (إصدار Java من NativePooledByteBuffer وفئات مماثلة) - لذا يجب إصلاح هذا قريبًا.

ومع ذلك ، لدينا عدد غير قليل من المشكلات والأفكار المفتوحة الأخرى للتحسينات المستقبلية إذا كنت ترغب في المساهمة مرة أخرى.
لدينا أيضًا بعض التغييرات الأكبر في الاعتبار لكل من المسحوب عليه وخط الأنابيب ، لذلك من المرجح أن تتغير الأمور قريبًا.

لا يزال Samsung Galaxy S9 Android 8 لا يعمل.

واجهت هذه القضية أيضا. حدث هذا على الهاتف OPPO A51 ، وقد ظهر أثناء استخدامي Fresco v1.8.1 ولكنه لم يظهر ضمن v0.12.0

لذا أعتقد أن هذا سيتم تجاهله فقط؟ تعطل معظم الأجهزة المشهورة بدءًا من الإصدار 1.8 ...

api 'com.facebook. طازج: طازج : 1.10.0 '
😂😂😂

أي تحديث؟

نفس المشكلة هنا
إصدار ما يقرب من 8 أشهر.
أي يعرف الحل؟ هل يعمل تخفيض درجة الحرارة واستخدام soloader؟

مرحبًا بالجميع ، أنا أتفهم الإحباط من هذه المشكلة.

أود إخبارك بأننا ندرك جيدًا المشكلات (المتنوعة) المتعلقة بالشفرة الأصلية والمشكلات التي تسببها. نحن نعمل بنشاط على السماح باستخدام Fresco بدون أي كود أصلي (انظر على سبيل المثال ImagePipelineExperiments # disableNativeCode ). قد يكون جاهزًا مع الإصدار v1.11 أو v1.12. مجد إلى MikaelMorales

في مثل هذه القضايا ، يصعب علينا حقًا إحراز تقدم دون أي رد كامل يمكننا العمل معه. هنا يبدو أن وجود مقتطفات من ملف build.gradle لا يكفي. يجب أن يكون مشروعًا بسيطًا ولكنه مكتمل.

إذا كان لديك نسخة محلية ، فيمكنك مساعدتنا وكل شخص في هذا الموضوع كثيرًا عن طريق:

  • التحقق مما إذا كان يتم إعادة إنتاجه باستخدام تطبيق العرض
  • ثم انتقل تدريجيًا من تطبيق العرض إلى تكوين البناء الخاص بك وملاحظة النقطة التي يتوقف عندها

هذه مشكلة نحتاج فيها إلى مساعدتك كثيرًا! لقد أضفت علامة "خطأ" حتى يظل الروبوت الذي لا معنى له صامتًا.

@ 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. في الهواء الطلق: animated-gif : 1.11.0 '
تنفيذ com.facebook. في الهواء الطلق: animated-webp : 1.11.0 '
تنفيذ com.facebook. في الهواء الطلق: دعم الويب : 1.11.0 '

مرحبًا ، ربما وجدت طريقة أخرى لإعادة إظهار هذه المشكلة.

نستخدم Fresco 1.11 لتحميل بعض الصور الثابتة وصور GIF المتحركة في تطبيقنا. كلاهما يعمل بشكل جيد عند إنشاء ملفات APK وتثبيتها ، ولكن ليس عند إنشاء حزم تطبيقات من Android Studio ونستخدم bundletool لإنشاء ملفات APK ( build-apks ) وتثبيت ( install-apks ) ملفات APK. في هذه الحالة ، لا يتم تحميل ملفات GIF ولكن التطبيق لا يتعطل عندما نحاول تحميلها ومحاولة تحميل صورة ثابتة يؤدي إلى تعطل التطبيق ( couldn't find DSO to load: libimagepipeline.so ).

لقد حاولنا تعيين .experiment().setNativeCodeDisabled(true) في ImagePipelineConfig من Fresco ومع ذلك تعمل الصور الثابتة ولكن صور GIF تتعطل بخطأ مختلف ( couldn't find DSO to load: libgifimage.so ). حتى لو نجح ذلك ، فلن نشعر بالراحة عند استخدام شيء يسمى ".experiment ()" في الإنتاج.

أنا أستخدم Android Gradle Plugin 3.2.1 و Android Studio 3.3 beta 4 و bundletool 0.7.1. أنا أختبر على هاتف Android 8.1.0.

هل هناك طريقة لاستخدام فريسكو مع حزم التطبيقات بشكل موثوق؟ هذا يمنعنا من الانتقال إلى الشكل الجديد في الوقت الحالي. شكرا!

هذا هو الانهيار عند محاولة تحميل صور 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)

فيما يلي العطل الذي حدث عند محاولة تحميل صور ثابتة قبل تشغيل التجربة. تتشابه الآثار ( couldn't find DSO to load: libimagepipeline.so ) عند محاولة تحميل صور GIF ولكن دون الوصول إلى الاستثناء الفادح.

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 لا يكفي. يجب أن يكون مشروعًا بسيطًا ولكنه مكتمل.

إذا كان لديك نسخة محلية ، فيمكنك مساعدتنا وكل شخص في هذا الموضوع كثيرًا عن طريق:

  • التحقق مما إذا كان يتم إعادة إنتاجه باستخدام تطبيق العرض
  • ثم انتقل تدريجيًا من تطبيق العرض إلى تكوين البناء الخاص بك وملاحظة النقطة التي يتوقف عندها

هذه مشكلة نحتاج فيها إلى مساعدتك كثيرًا! لقد أضفت علامة "خطأ" حتى يظل الروبوت الذي لا معنى له صامتًا.

@ ch4ndu ، لقد لاحظت بشكل صحيح أن armeabi يفتقد إلى أحدث إصدارات Fresco. تمت إزالته في NDK r17 (https://developer.android.com/ndk/guides/abis)

يمكنك ببساطة شراء OPPO r7 بنظام Android 5.1.1 لإعادة إنتاج هذه المشكلة بنفسك.
يرجى ملاحظة أنه يجب عليك التكامل مع okhttp لجعله يطرح استثناءات.

فهل هناك أي خلل أو حل بديل؟ وإلا سأستخدم مكتبة أخرى ، لأن مثل هذا الخطأ لفترة طويلة يمثل رقمًا كبيرًا.

لقد وجدت حلاً نوعًا ما .. فقط أضف هذا إلى علامة android في build.gradle

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

ليس كبيرا الى اتفاق. هناك مجموعة من الأخطاء التي لم يتم حلها حتى الآن في واجهة برمجة تطبيقات Google منذ عام 2017. مما تسبب في حدوث 2000 تعطل يوميًا في تطبيقي. إنهم لا يأخذون الأخطاء بنفس أهمية الميزات الجديدة. الوحيد الذي يصلحه في أسبوع هو Twitter.

لذلك ، أيضًا خيار الاستبعاد لا يعمل بشكل كامل .. حدث أعطال في بعض أجهزة Samsung (S8 و Xcover4).

حل أفضل: استخدم الجص 1.7.1 لعرض الصور بسرعة وسلسة في عرض مبسط
واستخدم الانزلاق لتغيير الحجم (لأن 1.7.1 في بعض الأحيان لم يقم بتغيير حجم الصور الكبيرة بشكل صحيح - وهو ما فعله 1.12.1. ولكن 1.12.1 به هذا الخطأ / الأعطال).

ملاحظة: جرب بيكاسو أيضًا ، لكنه يحتاج إلى ذاكرة كبيرة .. (حتى مع الإصدار 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 أو أقل وأقل من 1 غيغابايت من ذاكرة الوصول العشوائي.

بالإضافة إلى ذلك ، إذا كنت لا تستخدم عوامل التصفية الأصلية أو محول الشفرة ، فيجب استبعادها في ملف gradle الخاص بك:

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

سوف يستغرق الأمر منا أسبوعًا أو أسبوعين لتأكيد أن هذا يزيل الخطأ في تطبيقنا. oprisnik ، هل يمكن إضافة هذا إلى المستندات؟ أيضًا ، مع هذا التغيير ، يجب أن يكون من الممكن استبعاد libimagepipeline.so من التطبيقات التي لا تستخدمها ، ولكن لا يبدو أن هذا هو الحال.

لقد استخدمت الحل الخاص بك في الإنتاج:

التنفيذ ('com.facebook.fresco: fresco: 1.12.1') ​​{
استبعاد وحدة: "فلاتر الصور الأصلية"
استبعاد وحدة: "originalimagetranscoder"
}

لا يزال يتعطل:
الناتج عن 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 لن يحدث هذا إلا إذا كنت تقوم بتضمين وحدة الويب الثابتة (المعروفة سابقًا باسم دعم الويب). يجب عليك القيام بذلك فقط إذا كان التطبيق الخاص بك يدعم Android 4.2.0 أو أقل. حتى مع ذلك ، فأنت بحاجة إليه فقط من أجل webp الخالي من الضياع أو الشفاف - بالنسبة إلى webp الأساسي ، يمكنك الانتقال إلى Android 4.0 بدون static webp.

لا يظهر 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. تضمين التغريدة
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. تضمين التغريدة
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 بت: https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for- 64 بت. html

بناءً على ما فهمته ، ستكون هناك حاجة إلى تطبيقات جديدة أو تحديثات للتطبيقات الحالية لدعم 64 بت بدءًا من 1.08.2019

لدي حل وسط قبل إصلاح هذه المشكلة.
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 بت يسبب أي مشاكل مع متطلبات 64 بت من Google: 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 غير متأكد ولكن يبدو أن معظم أجهزة Oppo التي تعمل بنظام التشغيل OS 5 تواجه المشكلة.

waseefakhtar لقد تمكنت من إعادة إنتاج المشكلة من خلال تجميع التطبيق لـ "armeabi-v7a" في خيار ملف json الخاص بمواصفات الجهاز في bundletool (باستخدام AppBundle). تم تثبيت التطبيق على جهاز مدعوم وظهر العطل على الفور.

تمكنت من إصلاحه عن طريق تطبيق 2381 # issuecomment-516825599 بدون إضافة abiFilters أو استثناءات.

لقد استخدمت لوحة جدارية 1.13.0 وكان جيدًا طوال الوقت. عند التحديث إلى الإصدار 2.0.0 ، حصلت على هذه المشكلة ، ثم راجعت ملف apk الجديد الخاص بي ، ولم أجد libimagepipeline.so في ملف apk الخاص بي ، ثم أقوم بتنظيف مشروعي ، وإنشاء ملف APK جديد ، ولدي libimagepipeline.so في ملف apk الجديد الخاص بي . وتم إصلاح المشكلة ، ربما تكون هذه مشكلة من 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 من Picasso مؤخرًا وأطلقت للتو التطبيق المحدث على Playstore. الآن في اليوم الأول ، أرى هذا الخطأ في تطبيقي. شوهد الانهيار على إصدار Android 7.1.2 على أجهزة Trend

Screenshot (158)

هل هناك أي حل عمل متاح الآن

الحلول الممكنة:

  • استخدم أحدث إصدار من فريسكو. يتم تحديث SoLoader باستمرار ويتم إصلاح المشكلات المتعلقة ببعض الأجهزة. أو ساعدنا في معرفة سبب حدوث ذلك لمجموعة الأجهزة الخاصة بك والمساهمة في SoLoader.
  • استخدم أداة تحميل مكتبة النظام الأصلية بدلاً من SoLoader أو التطبيق الخاص بك https://github.com/facebook/fresco/issues/2049#issuecomment -615255009
  • استخدم برنامج Java-only Fresco بدون رمز أصلي ، راجع https://github.com/facebook/fresco/releases/tag/v2.1.0 (ربما يكون هذا أكثر تشابهًا مع Picasso نظرًا لأنه لا يستخدم أيضًا رمزًا أصليًا لتحسين الأداء).

oprisnik جربت الحل 3 أعلاه الذي تمت ترقيته إلى 2.2.0 واختبرت التطبيق في Firebase ولكن أثناء الاختبار حصلت على هذا الخطأ

java.lang.RuntimeException: تعذر إنشاء تطبيق com.example.xyz.MyApplication: java.lang.RuntimeException: إعداد كود أصلي خاطئ ، فشل الانعكاس.

فقط في الأجهزة التي تعمل بواجهة برمجة التطبيقات 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 (الطريقة الأصلية)
في 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 [[ملف مضغوط "/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 التقييمات