Fresco: НСустранимоС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: java.lang.UnsatisfiedLinkError Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ DSO для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: libimagepipeline.so / com.facebook.imagepipeline.memory.NativeMemoryChunk

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 11 Ρ„Π΅Π²Ρ€. 2018  Β·  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

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с вСрсиСй 1.8.1. Устройство VIVO X7 (Android 5.1.1, arm64-v8a).

FrescoIoBoundExecutor-2 (121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

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

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

FrescoIoBoundExecutor-1 (121150)

java.lang.UnsatisfiedLinkError

Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ DSO для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: libimagepipeline.so

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

2 com.facebook.soloader.SoLoader.loadLibraryBySoName (SoLoader.java:420)
3 com.facebook.soloader.SoLoader.loadLibrary (SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary (SoLoader.java:335)
5 com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load (ImagePipelineNativeLoader.java:42)
6 com.facebook.imagepipeline.memory.NativeMemoryChunk.(NativeMemoryChunk.java:33)
7 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc (NativeMemoryChunkPool.java:58)
8 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc (NativeMemoryChunkPool.java:20)
9 com.facebook.imagepipeline.memory.BasePool.get (BasePool.java:257)
10 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.(NativePooledByteBufferOutputStream.java:51)
11 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer (NativePooledByteBufferFactory.java:98)
12 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer (NativePooledByteBufferFactory.java:26)
13 com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache (BufferedDiskCache.java:336)
14 com.facebook.imagepipeline.cache.BufferedDiskCache.access 400 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² (BufferedDiskCache.java:36)
15 com.facebook.imagepipeline.cache.BufferedDiskCache $ 2. Π²Ρ‹Π·ΠΎΠ² (BufferedDiskCache.java:182)
16 com.facebook.imagepipeline.cache.BufferedDiskCache $ 2. Π²Ρ‹Π·ΠΎΠ² (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

@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 - ОБ: 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, ΠΈ я Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡ‚ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈ поискС: /

(a) ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ это Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ установкС дСмонстрационного прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅ΡΡ‚ΡŒ Π² нашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ? (это ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ мСня ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я Π²ΠΎΠ·ΡŒΠΌΡƒ Π² Ρ€ΡƒΠΊΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ OPPO)
(b) ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния 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)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @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.(Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»: 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

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ABI (Ρ‚ΠΈΠΏΠ° процСссора) Π² Ρ„Π°ΠΉΠ»Π°Ρ… Gradle Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?

@erikandre
Π― Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ABI Π² своСм Ρ„Π°ΠΉΠ»Π΅ gradle ΠΈ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ настройки Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π΅

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с вСрсиСй 1.8.1. Устройство VIVO X7 (Android 5.1.1, arm64-v8a).

FrescoIoBoundExecutor-2 (121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

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

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

FrescoIoBoundExecutor-1 (121150)

java.lang.UnsatisfiedLinkError

Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ DSO для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: libimagepipeline.so

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

2 com.facebook.soloader.SoLoader.loadLibraryBySoName (SoLoader.java:420)
3 com.facebook.soloader.SoLoader.loadLibrary (SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary (SoLoader.java:335)
5 com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load (ImagePipelineNativeLoader.java:42)
6 com.facebook.imagepipeline.memory.NativeMemoryChunk.(NativeMemoryChunk.java:33)
7 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc (NativeMemoryChunkPool.java:58)
8 com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc (NativeMemoryChunkPool.java:20)
9 com.facebook.imagepipeline.memory.BasePool.get (BasePool.java:257)
10 com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.(NativePooledByteBufferOutputStream.java:51)
11 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer (NativePooledByteBufferFactory.java:98)
12 com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer (NativePooledByteBufferFactory.java:26)
13 com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache (BufferedDiskCache.java:336)
14 com.facebook.imagepipeline.cache.BufferedDiskCache.access 400 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² (BufferedDiskCache.java:36)
15 com.facebook.imagepipeline.cache.BufferedDiskCache $ 2. Π²Ρ‹Π·ΠΎΠ² (BufferedDiskCache.java:182)
16 com.facebook.imagepipeline.cache.BufferedDiskCache $ 2. Π²Ρ‹Π·ΠΎΠ² (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

@ 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 , Ссли Π²Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ Π½Π°Ρ†Π΅Π»ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ устройство.

По-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² вСрсии 1.9.0.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅

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

Π Π°Π±ΠΎΡ‚Π°Π» Ρƒ мСня. Но, читая Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€, каТСтся, Ρ‡Ρ‚ΠΎ это Π½Π΅ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅Β» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅?

Π£ ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρƒ Π½Π΅Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΎ сбоях (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, OOM fresco) ΠΈΠ· Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€ΠΎΠ΄Π΅ этой, ΠΏΠΎΡ€Π° ΠΏΠΎΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒΡΡ!

я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ
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

ИспользованиС 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 Π²Ρ‹ Π½Π°Ρ†Π΅Π»ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€ΡƒΠΊΡƒ v7a. ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ устройства Π±Ρ‹Ρ‚ΡŒ armv6 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ armv5? НапримСр, согласно https://forum.xda-developers.com/showthread.php?t=1596800, ΠΏΠΎΡ…ΠΎΠΆΠ΅, довольно ΠΌΠ½ΠΎΠ³ΠΎ устройств ZTE с v6.

@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 Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ΅Π½ для API> = 21, Π½Π° Ρ‡Ρ‚ΠΎ сСйчас Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прилоТСния (Dalvik Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΏΠ°Π» Π΄ΠΎ 10%). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Java для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, я смогу ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ этим ΠΏΠΎΠ·ΠΆΠ΅, Π½ΠΎ я ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это сдСлал ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΈΠ· FB :)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, @tyronen! Π”Π°Π²Π½ΠΎ Π½Π΅ видСлись' :)

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ врСмя, Ρƒ нас Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ этим прямо сСйчас (Java-вСрсия NativePooledByteBuffer ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… классов) - Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ исправлСно Π² блиТайшСС врСмя.

Однако Ρƒ нас Π΅ΡΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΈΠ΄Π΅ΠΉ для Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, Ссли Π²Ρ‹ снова Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти свой Π²ΠΊΠ»Π°Π΄.
Π£ нас Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ нСсколько Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π² Drawee, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ скоро всС, вСроятно, измСнится.

Samsung Galaxy S9 Android 8 ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π― Ρ‚ΠΎΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ 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 нСдостаточно. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ мСстный ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ ΠΈ всСм Π² этой Ρ‚Π΅ΠΌΠ΅:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, воспроизводится Π»ΠΈ ΠΎΠ½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния-Π²ΠΈΡ‚Ρ€ΠΈΠ½Ρ‹
  • Π—Π°Ρ‚Π΅ΠΌ постСпСнно ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚ дСмонстрационного прилоТСния ΠΊ вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сборки ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ΠΎ ломаСтся.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½Π° ваша ΠΏΠΎΠΌΠΎΡ‰ΡŒ! Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ‚Π΅Π³ "ошибка", Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π±ΠΎΡ‚ ΠΌΠΎΠ»Ρ‡Π°Π».

@ 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. фрСска: webpsupport : 1.11.0 '

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, я ΠΌΠΎΠ³ Π±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ воспроизвСсти эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Fresco 1.11 для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… статичСских ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… GIF-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Оба ΠΎΠ½ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создаСм ΠΈ устанавливаСм APK, Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создаСм ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Android Studio ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ bundletool для сборки ( build-apks ) ΠΈ установки ( install-apks ) APK. Π’ этом случаС GIF-Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ, Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ пытаСмся Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΡ…, Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ статичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сбою прилоТСния ( couldn't find DSO to load: libimagepipeline.so ).

ΠœΡ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ .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.

Π•ΡΡ‚ΡŒ Π»ΠΈ способ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Fresco с Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ? Π­Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π½Π°ΠΌ сСйчас ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Бпасибо!

Π­Ρ‚ΠΎ сбой ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π³ΠΈΡ„ΠΊΠΈ послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ экспСримСнта:

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 failed: "/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" }

НичСго особСнного. Π’ API Google Π΅ΡΡ‚ΡŒ мноТСство ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π΅ исправлСны с 2017 Π³ΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ 2000 сбоям Π² дСнь Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Они просто Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ошибки Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ, ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ЕдинствСнный, ΠΊΡ‚ΠΎ исправляСт это Π·Π° нСдСлю, - Twitter.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, опция ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ .. На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устройствах Samsung (S8 ΠΈ Xcover4) Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ сбои.

Π›ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ fresco 1.7.1 для быстрого ΠΈ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ отобраТСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² simpledrawview.
ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ скольТСниС для измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 1.7.1 ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ измСняла Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ - Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π² 1.12.1. Но Π² 1.12.1 Π΅ΡΡ‚ΡŒ эта ошибка / сбой).

PS: Π’ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Пикассо, Π½ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ памяти .. (Π΄Π°ΠΆΠ΅ с вСрсиСй 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') ​​{
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: 'nativeimagefilters'
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: 'nativeimagetranscoder'
}

По-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚:
Π’Ρ‹Π·Π²Π°Π½ΠΎ java.lang.UnsatisfiedLinkError
Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ DSO для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: libstatic-webp.so
com.facebook.soloader.SoLoader.initSoSources (нСизвСстный источник)
com.facebook.soloader.SoLoader.init (нСизвСстный источник)
com.facebook.soloader.SoLoader.init (нСизвСстный источник)
com.facebook.soloader.SoLoader.init (нСизвСстный источник)
com.facebook.imagepipeline.nativecode.StaticWebpNativeLoader.ensure (нСизвСстный источник)
com.facebook.animated.webp.WebPImage.create (нСизвСстный источник)

@galrom это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ static-webp (Ρ€Π°Π½Π΅Π΅ извСстный ΠΊΠ°ΠΊ webpsupport). Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Android 4.2.0 ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅. Π”Π°ΠΆΠ΅ Π² этом случаС ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ webp - для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ webp Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° 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. @oprisnik
image

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Facebook Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ запросов, Π½ΠΎ ΠΎΠ½ΠΈ всС Π΅Ρ‰Π΅ просят ΠΎΡ‚Ρ‡Π΅Ρ‚. Вакая плохая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° со стороны ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Facebook.

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Oppo os v5.

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

image

Π― встрСчал это Ρ‚ΠΎΠΆΠ΅ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ вСрсии, 1.13.0 Π˜Ρ‚Π°ΠΊ, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½Π΅ удаляя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ arm64. @oprisnik
image

Π’Ρ‹ нашли ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅?

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, описанноС Π²Ρ‹ΡˆΠ΅? https://github.com/facebook/fresco/issues/2049#issuecomment -462880309

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, описанноС Π²Ρ‹ΡˆΠ΅? # 2049 (ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ)

Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сбой.

Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° , Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ com.facebook. фрСска: фрСска : 2.0.0 '

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ com.facebook. фрСска: фрСска : 2.0.0 '.
Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΠΌΠΎΠ΅ΠΌ устройствС HUAWEI HORNOR 8.
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅
ndk {abiFilters "armeabi", "armeabi-v7a", "x86"}
Π² defaultConfig моя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½Π°.

Π’ΠΎ ΠΆΠ΅ самоС ΠΈ здСсь, это происходит Π² основном Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии систСмы 6 ΠΈ Π²Ρ‹ΡˆΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π±Ρ€Π΅Π½Π΄ΠΎΠ² устройств.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ com.facebook. фрСска: фрСска : 2.0.0 '.
Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΠΌΠΎΠ΅ΠΌ устройствС HUAWEI HORNOR 8.
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅
ndk {abiFilters "armeabi", "armeabi-v7a", "x86"}
Π² defaultConfig моя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½Π°.

@glovebx Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ 32-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии Ρƒ вас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с трСбованиями Google для 64-Π±ΠΈΡ‚Π½ΠΎΠΉ вСрсии: https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for- 64-bit.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.
Если Π²Π°ΠΌ, рСбята, интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚, Ссли Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, внСситС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния

PackageOptions {
ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ '/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 Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ внСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния

PackageOptions {
ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ '/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 ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ….

Π― использовал fresco 1.13.0, ΠΈ всС врСмя Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄ΠΎ 2.0.0 Ρƒ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π—Π°Ρ‚Π΅ΠΌ я ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» свой Π½ΠΎΠ²Ρ‹ΠΉ apk, я Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» libimagepipeline.so Π² ΠΌΠΎΠ΅ΠΌ apk. Π—Π°Ρ‚Π΅ΠΌ я ΠΎΡ‡ΠΈΡ‰Π°ΡŽ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, создаю Π½ΠΎΠ²Ρ‹ΠΉ APK. И Ρƒ мСня Π΅ΡΡ‚ΡŒ libimagepipeline.so Π² ΠΌΠΎΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΌ apk . ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° исправлСна, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° студии Android!

Π― Ρ‚Π°ΠΊ Ρ€Π΅ΡˆΠΈΠ» эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ!

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)

Π•ΡΡ‚ΡŒ Π»ΠΈ сСйчас ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Fresco. SoLoader постоянно обновляСтся, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ устройствами ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ. Или ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ Π½Π°ΠΌ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это происходит для вашСго Π½Π°Π±ΠΎΡ€Π° устройств, ΠΈ внСситС свой Π²ΠΊΠ»Π°Π΄ Π² SoLoader.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ систСмной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ вмСсто SoLoader ΠΈΠ»ΠΈ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ https://github.com/facebook/fresco/issues/2049#issuecomment -615255009
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Fresco Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Java Π±Π΅Π· собствСнного ΠΊΠΎΠ΄Π°, см. 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: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка собствСнного ΠΊΠΎΠ΄Π°, ошибка отраТСния.

Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² устройствах с API 19.

Я использовал

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

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ фрСска с использованиСм

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

Полная трассировка стСка

java.lang.RuntimeException: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ com.example.xyz.MyApplication: java.lang.RuntimeException: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка собствСнного ΠΊΠΎΠ΄Π°, ошибка отраТСния.
FATAL EXCEPTION: главная
ΠŸΡ€ΠΎΡ†Π΅ΡΡ: 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-Ρ„Π°ΠΉΠ» Β«/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"pting,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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ