Fresco: рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж: java.lang.UnsatisfiedLinkError рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DSO рдирд╣реАрдВ рдвреВрдБрдв рд╕рдХрд╛: libimagepipeline.so / com.facebook.imagepipeline.memory.NativeMemoryChunk

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдлрд╝рд░ре░ 2018  ┬╖  87рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/fresco

рд╡рд┐рд╡рд░рдг

рд╕рдВрд╕реНрдХрд░рдг 1.8.0 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдХреНрд░реИрд╢рд▓рд╛рдИрдЯрд┐рдХ рдЗрди рдореБрджреНрджреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред
Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522) at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370) at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335) at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42) at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>(NativeMemoryChunk.java:33) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20) at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:257) at com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.<init>(NativePooledByteBufferOutputStream.java:51) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26) at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage(LocalFetchProducer.java:89) at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage(LocalFetchProducer.java:101) at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage(LocalResourceFetchProducer.java:39) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:54) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult(LocalFetchProducer.java:50) at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:45) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:590) at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53) at java.lang.Thread.run(Thread.java:818)

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

рдкреНрд░рдЬрдирди

рд╕рдорд╛рдзрд╛рди

рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ 1.8.1 рдХрд╛ рдЕрдкрдбреЗрдЯ рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдореБрдЭреЗ build.gradle рдореЗрдВ compile 'com.facebook.soloader:soloader:0.1.0+' рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА

  • рдлреНрд░реЗрд╕реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг:
    compile 'com.facebook.fresco:fresco:1.8.0'
    compile 'com.facebook.fresco:animated-gif:1.8.10'
  • рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рд╕рдВрд╕реНрдХрд░рдг:
    рдУрдкреНрдкреЛ - рдУрдПрд╕: рдПрдВрдбреНрд░реЙрдЗрдб 5.1.1
    рдбрд┐рд╡рд╛рдЗрд╕: R7sfg / R7g / A51fa

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 1.8.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ VIVO X7 (рдПрдВрдбреНрд░реЙрдЗрдб 5.1.1, arm64-v8a) рд╣реИред

FrescoIoBoundExecutor-2(121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

1 рдХреЙрдо.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)

2 рдХреЙрдо.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
3 рдХреЙрдо.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(резреирезрезрелреж)

java.lang.UnsatisfiedLinkError

рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓рд╛: libimagepipeline.so

1 рдХреЙрдо.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522)

2 рдХреЙрдо.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420)
3 рдХреЙрдо.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335)
5 рдХреЙрдо.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42)
6 рдХреЙрдо.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 рдХреЙрдо.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. рд░рди (рдЯрд╛рд╕реНрдХ.рдЬрд╛рд╡рд╛: 357)
18 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
19 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
20 com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:53)
21 java.lang.Thread.run(Thread.java:818)

рд╕рднреА 87 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк ABI рд╕реНрдкреНрд▓рд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? http://frescolib.org/docs/shipping.html

@oprisnik
рдореЗрд░рд╛ рдирд┐рд░реНрдорд╛рдг рд╕реЗрдЯрдЕрдк
android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { applicationId "com.mobix.pinecone" minSdkVersion 15 targetSdkVersion 27 versionCode 83 versionName '5.42' multiDexEnabled true } buildTypes { release { minifyEnabled false multiDexKeepProguard file("proguard.multidex.config") } debug { minifyEnabled false multiDexKeepProguard file("proguard.multidex.config") } } productFlavors { } dexOptions { jumboMode true javaMaxHeapSize "4g" } testOptions { unitTests.returnDefaultValues = true } }

рдФрд░ рдорд▓реНрдЯреАрдбреЗрдХреНрд╕ рдХреЙрдиреНрдлрд┐рдЧ
-keepclassmembers class * implements android.os.Parcelable { static ** CREATOR; } -dontwarn com.google.android.gms.** -keep class com.google.android.gms.** { *; } -keep class com.google.firebase.** { *; } -keep class io.realm.** { *; } -keep class io.branch.** { *; } -keep class io.fabric.sdk.android.** { *; } -keep class io.socket.** { *; } -keep class com.google.android.youtube.** { *; } -keep class com.crashlytics.android.** { *; } -keep class com.facebook.internal.FacebookInitProvider.** { *; } -keep class com.facebook.FacebookSdk.** { *; } -keep class com.facebook.appevents.AppEventsLogger.** { *; } -keep class com.facebook.common.memory.MemoryTrimmableRegistry.** { *; } -keep class com.facebook.drawee.backends.pipeline.Fresco.** { *; } -keep class com.facebook.imagepipeline.core.ImagePipelineConfig.** { *; } -keep class me.zhanghai.android.materialprogressbar.** { *; } -keep class com.nguyenhoanglam.imagepicker.** { *;} -keep class com.iarcuschin.simpleratingbar.** { *;} -keep class android.support.v4.app.NotificationManagerCompat.** { *;}

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ OPPO - OS рдкрд░ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ: Android 5.1.1 рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 1.8.0 рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ, рдпреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рди рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ

рд╣рд╛рдп @hsandyque , рдЖрдкрдХреЛ soloader рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм 1.8.0 рд╕реЗ рдлреНрд░реЗрд╕реНрдХреЛ рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИред рдореИрдВ 1.8.1 рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреА build.gradle рдлрд╝рд╛рдЗрд▓ рдХреЛ proguard-fresco.pro рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ @oprisnik рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП: рдХреНрдпрд╛ рдпрд╣ рдмрдЧ _only_ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реЛрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ adb logcat рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдп @lambdapioneer ,
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП: рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рдХреЗрд╡рд▓ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реЛрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рдПрдбреАрдмреА рд▓реЙрдЧрдХреИрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╣рд╛рдБ, рдпрд╣ рдХреЗрд╡рд▓ OPPO Android 5.1.1 рдЙрдкрдХрд░рдгреЛрдВ (R7sfg / R7g / A51fa) рдкрд░ рд╣реЛрддрд╛ рд╣реИ
рдФрд░ рдЕрдЯреИрдЪрдореЗрдВрдЯ рд▓реЙрдЧрдХреИрдЯ рд╣реИрдВ
1.txt
2.txt

рд╣рд╛рдп @hsandyque , рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдУрдкреНрдкреЛ рдлреЛрди рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдмрд╛рдЗрдирд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмрдВрдбрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдлреЛрди рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп OPPO рдлреЛрди рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдмреЗрд╣рддрд░ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗ: /

(рдП) рдХреНрдпрд╛ рдпрд╣ рд╢реЛрдХреЗрд╕ рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рднреА рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рднрдВрдбрд╛рд░ рдореЗрдВ рд╣реИ? (рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдУрдкреНрдкреЛ рдлреЛрди рдкрд░ рдкрдХрдбрд╝ рд▓реЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореБрдЭреЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд░реАрдм рд▓рд╛рдПрдЧрд╛)
(рдмреА) рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рд░рд┐рд▓реАрдЬ рдПрдкреАрдХреЗ рдкрд░ unzip -l your_release.apk | grep lib/ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрдбрд▓ рдХреА рдЧрдИ рд╣реИрдВред

рд╣рд╛рдп @lambdapioneer ,

рдореЗрд░реЗ рдкрд╛рд╕ OPPO рдлрд╝реЛрди рдирд╣реАрдВ рд╣реИ (Android 5.1.1), рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ Crashlytics рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреА рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпреЗ рд╢реЛрдХреЗрд╕ рдРрдк рдкрд░ рднреА рд╣реЛрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

рдФрд░ рдмрдВрдбрд▓ рд╕реВрдЪреА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ
158176 00-00-1980 00:00 lib/arm64-v8a/libgifimage.so 383192 00-00-1980 00:00 lib/arm64-v8a/libimagepipeline.so 3107040 00-00-1980 00:00 lib/arm64-v8a/librealm-jni.so 91980 00-00-1980 00:00 lib/armeabi-v7a/libgifimage.so 255696 00-00-1980 00:00 lib/armeabi-v7a/libimagepipeline.so 1877536 00-00-1980 00:00 lib/armeabi-v7a/librealm-jni.so 100168 00-00-1980 00:00 lib/armeabi/libgifimage.so 313028 00-00-1980 00:00 lib/armeabi/libimagepipeline.so 4058380 00-00-1980 00:00 lib/mips/librealm-jni.so 145240 00-00-1980 00:00 lib/x86/libgifimage.so 452312 00-00-1980 00:00 lib/x86/libimagepipeline.so 3397252 00-00-1980 00:00 lib/x86/librealm-jni.so 150360 00-00-1980 00:00 lib/x86_64/libgifimage.so 477784 00-00-1980 00:00 lib/x86_64/libimagepipeline.so 3336720 00-00-1980 00:00 lib/x86_64/librealm-jni.so

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

рдирдорд╕реНрддреЗ @oprisnik
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП?

java.lang.UnsatisfiedLinkError: рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛: 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 рдкрд░ (рдереНрд░реЗрдб.рдЬрд╛рд╡рд╛:реорезрео)

@hsandyque

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдРрдкреНрд╕ рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЛрдИ ABI (CPU рдкреНрд░рдХрд╛рд░) рдлрд╝рд┐рд▓реНрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ?

@erikandre
рдореИрдВ рдЕрдкрдиреА рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдПрдмреАрдЖрдИ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд┐рдЫрд▓реЗ рдЙрддреНрддрд░ рдкрд░ рд╡рд┐рд╡рд░рдг рд╕реЗрдЯрд┐рдВрдЧ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реВрдВ

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 1.8.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ VIVO X7 (рдПрдВрдбреНрд░реЙрдЗрдб 5.1.1, arm64-v8a) рд╣реИред

FrescoIoBoundExecutor-2(121704)

java.lang.UnsatisfiedLinkError

com.facebook.imagepipeline.memory.NativeMemoryChunk

1 рдХреЙрдо.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:58)

2 рдХреЙрдо.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:20)
3 рдХреЙрдо.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(резреирезрезрелреж)

java.lang.UnsatisfiedLinkError

рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓рд╛: libimagepipeline.so

1 рдХреЙрдо.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:522)

2 рдХреЙрдо.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:420)
3 рдХреЙрдо.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:370)
4 com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:335)
5 рдХреЙрдо.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load(ImagePipelineNativeLoader.java:42)
6 рдХреЙрдо.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 рдХреЙрдо.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. рд░рди (рдЯрд╛рд╕реНрдХ.рдЬрд╛рд╡рд╛: 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: рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛: 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 рдкрд░ (рдереНрд░реЗрдб.рдЬрд╛рд╡рд╛:реорезрео)

image

@wangshuwen1107 @csbz17027 @ignaciogs
рдлреЗрд╕рдмреБрдХ рдХреЗ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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-рдмрд┐рдЯ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реНрдиреИрдк рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреАрдЖрдИ рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝реЗрдВ, "arm64-v8a" рдЫреЛрдбрд╝реЗрдВ
defaultConfig { ... ndk { abiFilters "armeabi", "armeabi-v7a", "x86", "x86_64", "mips", "mips64" } }
рдпрд╣ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджреЗ рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрдкрдбреЗрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ

@hsandyque рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реИ, рдЖрдкрдХреЗ рдЕрдкрдбреЗрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИя╝Б

@oprisnik @erikandre @lambdapioneer
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

@hsandyque рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо 32 рдмрд┐рдЯ рдФрд░ 64 рдмрд┐рдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдорд┐рд╢реНрд░рдг рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд abiFilters рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдЬрд╛рдПрдВ:

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

рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╢рд╛рдпрдж mips рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВред

рдЕрднреА рднреА v1.9.0 рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИред

рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

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

рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдмрд╛рддрдЪреАрдд рдХреЛ рдкрдврд╝рдХрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рд╕рд╣реА" рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ?

рдореЗрд░реА рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреА рддреАрд╕рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЗрддрдиреА рдЕрдзрд┐рдХ рдХреНрд░реИрд╢ рд░рд┐рдкреЛрд░реНрдЯ (рдлреНрд░реЗрд╕реНрдХреЛ рдХреЗ рдУрдУрдПрдо рдХрд╛ рдХрд╛рд░рдг) рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ, рдпрд╣ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ!

рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
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 рдкрд░ рд╕рдорд░реНрдерд┐рдд рдПрдмрд┐рд╕ "рдЖрд░реНрдореЗрдмреА", "рдЖрд░реНрдореЗрдмреА-рд╡реА 7 рдП", "рдПрдХреНрд╕ 86" рдХреЗ рд╕рд╛рде рдЙрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ

рдЕрднреА рднреА v1.9.0 рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдореЗрд░рд╛ рдРрдк рдЦреБрд▓рдиреЗ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб 5.0.2 рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдЪрдЯреАрд╕реА рд╡рди рдИ9рдкреНрд▓рд╕ рдбреБрдЕрд▓ рд╕рд┐рдо рдкрд░ рд╣реЛрддрд╛ рд╣реИ
рддреНрд░реБрдЯрд┐: рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж: java.lang.UnsatisfiedLinkError
рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓рд╛: libimagepipeline.so

рдЕрджреНрдпрддрди: рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИ, рдХреГрдкрдпрд╛ рдлреНрд░реЗрд╕реНрдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрддреНрдкрд╛рджрди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджреЗрдЦреЗрдВ , рдЬреЛ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИред

рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрдирд╛:
image

рдПрдкреАрдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрд╕реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг 1.9.0 рдФрд░ рдПрдмреАрдЖрдИ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

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

рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╢реБрд░реВ рд╣реБрдИ рдЬрдм рд╣рдордиреЗ рдлреНрд░реЗрд╕реНрдХреЛ рдХреЛ 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 рдХреЗ рдЕрдиреБрд╕рд╛рд░ v6 рдХреЗ рд╕рд╛рде рдХреБрдЫ ZTE рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ

@oprisnik рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рдЖрдо рдлреЛрди рдПрдХ Asus Zenfone 3 Max рд╣реИ рдЬрд┐рд╕рдореЗрдВ ARM v8 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИред рд╕рдмрд╕реЗ рдЖрдо ZTE рдлреЛрди рдмреНрд▓реЗрдб V7 рд╣реИ, рд╡рд╣ рднреА ARM v8.

1.8.1 . рд╕реЗ 1.10 рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ

рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдШрдЯрдХ рд╣рдореЗрдВ рдХреЗрд╡рд▓ 'рдЖрд░реНрдореЗрдмреА' рдФрд░ 'x86' рд╕реНрдкреНрд▓рд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВ ... рдФрд░ v-1.10 рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬрдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреА рдПрдЖрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, 'рдЖрд░реНрдореЗрдмреА' рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИред рдХреНрдпрд╛ рдЖрдЧреЗ рднреА рдРрд╕рд╛ рд╣реА рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?
рд╣рд╛рд▓рд╛рдВрдХрд┐ .so рдлрд╛рдЗрд▓реЗрдВ 1.9 рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред

рдпрд╣рд╛рдВ рдХреЛрдИ рд▓реАрдб

рдЕрд░реЗ рд╡рд╣рд╛рдБ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдЕрднреА рднреА рд╕рдореБрджрд╛рдп рдХреЗ рдзреНрдпрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ "рдмрдЧ" рдпрд╛ "рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓реЗрдмрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрджреНрджрд╛ рдЕрднреА рдмрд╛рдХреА рд╣реИ

рдирдорд╕реНрддреЗ рджреЛрд╕реНрддреЛрдВ, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ 'рджреЗрдЦрдиреЗ' рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред

@lambdapioneer , @oprisnik рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлреНрд░реЗрд╕реНрдХреЛ 0.1 рдХреЗ рдмрд╛рдж рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЕрд╡рддрд╛рд░реЛрдВ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЕрдзрд┐рдХрддрд╛ рдореЗрдВ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрдирд╛ рд▓рд╛рдЬрдореА рд╣реИред

рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдорд╛рдзрд╛рди (APK рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛) рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдкреАрдХреЗ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдПрдмреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЙрддреНрдкрд╛рдж рд╕реНрд╡рд╛рдж рдФрд░ рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рднреА рдХреЛ рд╣реЙрдХреАрдПрдк рдЬреИрд╕реЗ рдмрд╛рд╣рд░реА рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрдВрдЯрд╡рд╛рд░реЗ рд╕реЗ рдЯреАрдо рдХреА рдЖрдВрдЦреЗрдВ рдирдо рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧреНрд▓рд╛рдЗрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

NativePooledByteBuffer рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ API>=21 рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдм рдмрд╣реБрдд рд╕реЗ рдРрдкреНрд╕ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ (Dalvik рдЕрдм 10% рддрдХ рдиреАрдЪреЗ рд╣реИ)ред рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдиреЗ рдФрд░ рдмрд╛рдж рдХреЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЬрд╛рд╡рд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрднреА рднреА рдПрдлрдмреА рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ :)

рдЕрд░реЗ @tyronen! рдмрд╣реБрдд рд╕рдордп рд╕реЗ рдорд┐рд▓реЗ рдирд╣реАрдВ' :)

рдЕрдЪреНрдЫрд╛ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рдордп рдХреЛрдИ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (NativePooledByteBuffer рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг) - рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрдп рдЦреБрд▓реЗ рдореБрджреНрджреЗ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреНрд░рд╛рд╡реЗ рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рднреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдЬрд▓реНрдж рд╣реА рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рд╕реИрдорд╕рдВрдЧ рдЧреИрд▓реЗрдХреНрд╕реА S9 Android 8 рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ OPPO A51 рдлреЛрди рдкрд░ рд╣реБрдЖ, рдпрд╣ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдореИрдВ Fresco v1.8.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ v0.12.0 рднреАрддрд░ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдЖ

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рд╕рдВрд╕реНрдХрд░рдг 1.8 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИ...

рдПрдкреАрдЖрдИ 'com.facebook. рддрд╛рдЬрд╝рд╛: рддрд╛рдЬрд╝рд╛ : 1.10.0'
рдореИрдВ

рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА?

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛
рдХрд░реАрдм 8 рдорд╣реАрдиреЗ рдкреБрд░рд╛рдирд╛ рдорд╛рдорд▓рд╛ред
рдХреЛрдИ рдЙрдкрд╛рдп рдкрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдлреНрд░реЗрд╕реНрдХреЛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдФрд░ рд╕реЛрд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╣рддрд╛рд╢рд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред

рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдореВрд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде (рд╡рд┐рднрд┐рдиреНрди) рдореБрджреНрджреЛрдВ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╡рд╛рдХрд┐рдл рд╣реИрдВред рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореВрд▓ рдХреЛрдб рдХреЗ рдлреНрд░реЗрд╕реНрдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ImagePipelineExperiments#disableNativeCode рджреЗрдЦреЗрдВ )ред рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ v1.11 рдпрд╛ v1.12 рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред @MikaelMorales . рдХреЛ рдкреНрд░рдгрд╛рдо

рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреВрд░реНрдг рд░реЗрдкреЛ рдХреЗ рдкреНрд░рдЧрддрд┐ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ build.gradle рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХрд╛ рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдиреНрдпреВрдирддрдо, рд▓реЗрдХрд┐рди рдкреВрд░реНрдг, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рд░реЗрдкреНрд░реЛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рд╣рдорд╛рд░реА рдФрд░ рд╕рднреА рдХреА рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢реЛрдХреЗрд╕ рдРрдк рдХреЗ рд╕рд╛рде рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ
  • рдлрд┐рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд╢реЛрдХреЗрд╕ рдРрдк рд╕реЗ рдЕрдкрдиреЗ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЯреВрдЯрддрд╛ рд╣реИ

рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреА рдмрд╣реБрдд рдЬрд░реВрд░рдд рд╣реИ! рдореИрдВрдиреЗ "рдмрдЧ" рдЯреИрдЧ рдЬреЛрдбрд╝рд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рд╕реА-рдмреЙрдЯ рдЪреБрдк рд░рд╣реЗред

@ ch4ndu , рдЖрдкрдиреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ armeabi рдореЗрдВ рдирд╡реАрдирддрдо рдлреНрд░реЗрд╕реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдЧрд╛рдпрдм рд╣реИрдВред рдЗрд╕реЗ NDK r17 (https://developer.android.com/ndk/guides/abis) рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

W/System.err: java.lang.UnsatisfiedLinkError: рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DSO рдирд╣реАрдВ рдвреВрдБрдв рд╕рдХрд╛: libimagepipeline.so
рдЗрд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВрдЧреЗ

рдПрдирдПрдирдбреАрдХреЗ { abiFilters "рдЖрд░реНрдореЗрдмреА"}
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 'com.facebook. рдлреНрд░реЗрд╕реНрдХреЛ: рдлреНрд░реЗрд╕реНрдХреЛ : 1.11.0'
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 'com.facebook. рдлреНрд░реЗрд╕реНрдХреЛ: рдПрдирд┐рдореЗрдЯреЗрдб-рдЬреАрдЖрдИрдПрдл : 1.11.0'
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 'com.facebook. рдлреНрд░реЗрд╕реНрдХреЛ: рдПрдирд┐рдореЗрдЯреЗрдб-рд╡реЗрдм : 1.11.0'
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 'com.facebook. рдлрд╝реНрд░реЗрд╕реНрдХреЛ: webpsupport : 1.11.0'

рдирдорд╕реНрддреЗ, рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред

рд╣рдо рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдХреБрдЫ рд╕реНрдерд┐рд░ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдПрдирд┐рдореЗрдЯреЗрдб рдЬреАрдЖрдИрдПрдл рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрд╕реНрдХреЛ 1.11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдПрдкреАрдХреЗ рдмрдирд╛рддреЗ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рджреЛрдиреЛрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдм рдирд╣реАрдВ рдЬрдм рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдРрдк рдмрдВрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдмрдВрдбрд▓рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ ( build-apks ) рдмрдирд╛рдиреЗ рдФрд░ рдПрдкреАрдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ ( install-apks )ред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, GIF рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдРрдк рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдерд┐рд░ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдРрдк рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ( couldn't find DSO to load: libimagepipeline.so )ред

рд╣рдордиреЗ рдлреНрд░реЗрд╕реНрдХреЛ рдХреЗ ImagePipelineConfig рдореЗрдВ .experiment().setNativeCodeDisabled(true) рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рд╕реНрдерд┐рд░ рдЫрд╡рд┐рдпрд╛рдВ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ рд▓реЗрдХрд┐рди GIF рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ ( couldn't find DSO to load: libgifimage.so ) рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрддреНрдкрд╛рджрди рдореЗрдВ ".experiment ()" рдирд╛рдордХ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди 3.2.1, рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ 3.3 рдмреАрдЯрд╛ 4 рдФрд░ рдмрдВрдбрд▓рдЯреВрд▓ 0.7.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб 8.10 рдлреЛрди рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдРрдк рдмрдВрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реНрд░реЗрд╕реНрдХреЛ рдХрд╛ рдордЬрд╝рдмреВрддреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдпрд╣ рд╣рдореЗрдВ рдлрд┐рд▓рд╣рд╛рд▓ рдирдП рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!

рдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЬреАрдЖрдИрдПрдл рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛ рд╣реИ:

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 ) рд▓реЗрдХрд┐рди рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛ред

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/build-from-source.html рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ android-ndk/r10e рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг r18b рд╣реИ)ред

рдЕрдЧрд░ рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рд╢реЛрдХреЗрд╕ рдРрдк рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ 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 рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдореЗрд░рд╛ рдРрдк рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╣рддрд╛рд╢рд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред

рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдореВрд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде (рд╡рд┐рднрд┐рдиреНрди) рдореБрджреНрджреЛрдВ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╡рд╛рдХрд┐рдл рд╣реИрдВред рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореВрд▓ рдХреЛрдб рдХреЗ рдлреНрд░реЗрд╕реНрдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ImagePipelineExperiments#disableNativeCode рджреЗрдЦреЗрдВ )ред рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ v1.11 рдпрд╛ v1.12 рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред @MikaelMorales . рдХреЛ рдкреНрд░рдгрд╛рдо

рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреВрд░реНрдг рд░реЗрдкреЛ рдХреЗ рдкреНрд░рдЧрддрд┐ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ build.gradle рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХрд╛ рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдиреНрдпреВрдирддрдо, рд▓реЗрдХрд┐рди рдкреВрд░реНрдг, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рд░реЗрдкреНрд░реЛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рд╣рдорд╛рд░реА рдФрд░ рд╕рднреА рдХреА рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢реЛрдХреЗрд╕ рдРрдк рдХреЗ рд╕рд╛рде рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ
  • рдлрд┐рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд╢реЛрдХреЗрд╕ рдРрдк рд╕реЗ рдЕрдкрдиреЗ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЯреВрдЯрддрд╛ рд╣реИ

рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХреА рдмрд╣реБрдд рдЬрд░реВрд░рдд рд╣реИ! рдореИрдВрдиреЗ "рдмрдЧ" рдЯреИрдЧ рдЬреЛрдбрд╝рд╛ рд╣реИ рддрд╛рдХрд┐ рдмрд╛рд╕реА-рдмреЙрдЯ рдЪреБрдк рд░рд╣реЗред

@ ch4ndu , рдЖрдкрдиреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ armeabi рдореЗрдВ рдирд╡реАрдирддрдо рдлреНрд░реЗрд╕реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдЧрд╛рдпрдм рд╣реИрдВред рдЗрд╕реЗ NDK r17 (https://developer.android.com/ndk/guides/abis) рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ Android 5.1.1 рдХреЗ рд╕рд╛рде рдПрдХ OPPO r7 рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ okhttp рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдмрдЧрдлрд┐рдХреНрд╕ рдпрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ? рдирд╣реАрдВ рддреЛ рдореИрдВ рдПрдХ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдмрдЧ рдПрдХ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдереЛрдбрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ .. рдмрд╕ рдЗрд╕реЗ android рдЯреИрдЧ рдореЗрдВ build.gradle . рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ

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

рдЗрддрдиреА рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред 2017 рдХреЗ рдмрд╛рдж рд╕реЗ Google рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдЕрднреА рддрдХ рдмрдЧ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдореЗрд░реЗ рдРрдк рдореЗрдВ рдПрдХ рджрд┐рди рдореЗрдВ 2000 рдХреНрд░реИрд╢ рд╣реЛрддреЗ рд╣реИрдВред рд╡реЗ рдмрдЧ рдХреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рддрд░рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХрдорд╛рддреНрд░ рдЯреНрд╡рд┐рдЯрд░ рд╣реИред

рддреЛ, рдмрд╣рд┐рд╖реНрдХреГрдд рд╡рд┐рдХрд▓реНрдк рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ .. рдХреБрдЫ рд╕реИрдорд╕рдВрдЧ рдЙрдкрдХрд░рдгреЛрдВ (рдПрд╕ 8 рдФрд░ рдПрдХреНрд╕рдХрд╡рд░ 4) рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ред

рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди: рд╕рд░рд▓ рдбреНрд░рд╛рд╡реНрдпреВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рддреЗрдЬрд╝ рдФрд░ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд░реЗрд╕реНрдХреЛ 1.7.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдФрд░ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд▓рд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ 1.7.1 рдХрднреА-рдХрднреА рдмрдбрд╝реА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рд╣реА рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ - рдЬреЛ 1.12.1 рдиреЗ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди 1.12.1 рдореЗрдВ рдпрд╣ рд╣реИред рддреЛ рдмрдЧ/рдХреНрд░реИрд╢)ред

рдкреАрдПрд╕ .: рдкрд┐рдХрд╛рд╕реЛ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдореГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ .. (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ 2.7 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде)ред

(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЕрдм рдлреНрд░реЗрд╕реНрдХреЛ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ)

рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдЖрдЬрд╝рдорд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдлрд╝реНрд░реЗрд╕реНрдХреЛ 1.11 рдпрд╛ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рджреЗрд╢реА рдореЗрдореЛрд░реА рдХреЗ рдмрдЬрд╛рдп рдмрдлрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (okhttp рдЙрджрд╛рд╣рд░рдг):

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

рдореИрдВ Android 4.x рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдФрд░ 1GB рд╕реЗ рдХрдо RAM рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рдлрд╝рд┐рд▓реНрдЯрд░ рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдХреЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

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

рд╣рдореЗрдВ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдмрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред @oprisnik , рдХреНрдпрд╛ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╕рд╛рде рд╣реА, рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде libimagepipeline.so рдХреЛ рдЙрди рдРрдкреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ:

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ('com.facebook.fresco:fresco:1.12.1') тАЛтАЛ{
рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрд╛рд╣рд░ рдХрд░реЗрдВ: 'рджреЗрд╢реА рдЗрдореЗрдЬрдлрд┐рд▓реНрдЯрд░'
рдореЙрдбреНрдпреВрд▓ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ: 'рджреЗрд╢реА рдЗрдореЗрдЬрдЯреНрд░рд╛рдВрд╕рдХреЛрдбрд░'
}

рдЕрднреА рднреА рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд:
Java.lang.UnsatisfiedLinkError рдХреЗ рдХрд╛рд░рдг
рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдУ рдирд╣реАрдВ рдорд┐рд▓рд╛: 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 рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╕реНрдерд┐рд░-рд╡реЗрдмрдкреА рдореЙрдбреНрдпреВрд▓ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ webpsupport рдХреЗ рдирд╛рдо рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛) рд╢рд╛рдорд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЛ рдРрд╕рд╛ рдХреЗрд╡рд▓ рддрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЖрдкрдХрд╛ рдРрдк Android 4.2.0 рдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реЛред рдлрд┐рд░ рднреА, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рджреЛрд╖рд░рд╣рд┐рдд рдпрд╛ рдкрд╛рд░рджрд░реНрд╢реА рд╡реЗрдмрдк рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдореВрд▓ рд╡реЗрдм рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реНрдерд┐рд░-рд╡реЗрдм рдХреЗ рдмрд┐рдирд╛ рдПрдВрдбреНрд░реЙрдЗрдб 4.0 рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдорд╛рд░рд╛ dependency graph static-webp module рдХрд╛ рдХреЛрдИ рдирд┐рд╢рд╛рди рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВ

рдореБрдЭреЗ рдУрдкреНрдкреЛ рдУрдПрд╕ 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

рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рд╣рдорд╛рд░реЗ рдРрдк (рдореЗрдорд░реАрдЬрд╝) рдиреЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдКрдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХреНрд░реИрд╢ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╣рдо рд╕реНрдереИрддрд┐рдХ-рд╡реЗрдмрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, @tyronen рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдо рдбреЙрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЗрд╕реЗ >4x рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдУрдкреНрдкреЛ рдУрдПрд╕ 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

рдлреЗрд╕рдмреБрдХ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ? рд╣рдордиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди рдкреЛрд╕реНрдЯ рдХрд┐рдП рд╣реИрдВ рдлрд┐рд░ рднреА рд╡реЗ рд░рд┐рдкреЛрд░реНрдЯ рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВред рдлреЗрд╕рдмреБрдХ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЗрддрдирд╛ рдмреБрд░рд╛ рд╕рдорд░реНрдердиред

рдореБрдЭреЗ рдУрдкреНрдкреЛ рдУрдПрд╕ 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"}
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд┐рдЧ рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдВ рд╡рд╣реА рд╣реИ, рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг 6 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рд╡рд╛рдЗрд╕ рдмреНрд░рд╛рдВрдбреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ

рдореИрдВ 'com.facebook' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдлреНрд░реЗрд╕реНрдХреЛ: рдлреНрд░реЗрд╕реНрдХреЛ : 2.0.0'.
рдореЗрд░реЗ HUAWEI HORNOR 8 рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЕрднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
ndk { abiFilters "armeabi", "armeabi-v7a", "x86"}
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд┐рдЧ рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ред

@glovebx рдЖрдк https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for- 64-bit.html

рдореИрдВрдиреЗ рдЬреЛ рд╕рдордЭрд╛ рдЙрд╕рд╕реЗ рдирдП рдРрдкреНрд╕ рдпрд╛ рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ 1.08.2019 рд╕реЗ 64 рдмрд┐рдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдордЭреМрддрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред
https://github.com/facebook/fresco/issues/2381#issuecomment -516825599
рдЙрдореНрдореАрдж рд╣реИ, рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХреЗ

@ShawnDongAi рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ! рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ:) рд╣рдо рдпрд╣рд╛рдВ рдЗрд╕ рдлреНрд░реЗрд╕реНрдХреЛ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдХрд┐рд╕реА рдЕрдиреНрдп рдЫрд╡рд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЪрд▓реЗ рдЧрдПред

https://github.com/facebook/SoLoader/pull/45 рдпрд╣рд╛рдВ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рд╕реЛрд▓реЛрдбрд░ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдиреЗ рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рджреЗрд╢реА рдХреЛрдб рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рддрдВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред

рдЖрд░рдПрди 0.60.5 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЕрдЧрд░ рдЖрдк рд▓реЛрдЧ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓реЗрд╕реНрдЯреЛрд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ рдРрдк рдХреНрд░реИрд╢ рдХреНрдпреЛрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ

рдкреИрдХреЗрдЬрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк {
рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ '/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')

}

рдЕрдЧрд░ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд░реИрд╢ рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХреЛ рдлрд╛рдпрд░рдмреЗрд╕ рдЯреЗрд╕реНрдЯ рд▓реИрдм рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЬрд╛рдВрдЪреЗрдВред рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд░рд╣реА рд╣реИ

@Balajipss рд╕рднреА 64-рдмрд┐рдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ Google рдХреА 64-рдмрд┐рдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit .рдПрдЪрдЯреАрдПрдордПрд▓ ?

@waseefakhtar рдЖрдк рдирд┐рдореНрди рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдкреИрдХреЗрдЬрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк {
рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ '/lib/arm64-v8a/libc++_shared.so'
рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ '/lib/x86_64/libc++_shared.so'
рдкрд┐рдХрдлрд░реНрд╕реНрдЯ '/lib/x86/libc++_shared.so'
рдкрд┐рдХрдлрд░реНрд╕реНрдЯ '/lib/armeabi-v7a/libc++_shared.so'
}

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реВрдЪреА рд╣реИ? рд╣рдо рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЙрд╕реА рдлреЛрди рдХреЗ рд╕рд╛рде рднреА рдЬреЛ рд╣рдорд╛рд░рд╛ рдХреНрд░реИрд╢ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

@juanimoli рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдУрдПрд╕ 5 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдУрдкреНрдкреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@waseefakhtar рдореИрдВ рдмрдВрдбрд▓рдЯреВрд▓ (AppBundle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдкреЗрдХреНрд╕ json рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ "armeabi-v7a" рдХреЗ рд▓рд┐рдП рдРрдк рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдРрдк рдХреЛ рдПрдХ рд╕рдорд░реНрдерд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдФрд░ рдХреНрд░реИрд╢ рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

рдореИрдВ 2381#issuecomment-516825599 рдХреЛ

рдореИрдВрдиреЗ рдлреНрд░реЗрд╕реНрдХреЛ 1.13.0 рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рд╣рд░ рд╕рдордп рдареАрдХ рдерд╛ред 2.0.0 рдкрд░ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░, рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред рдлрд┐рд░ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдирдпрд╛ рдПрдкреАрдХреЗ рдЪреЗрдХ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрдкреАрдХреЗ рдореЗрдВ рдХреЛрдИ libimagepipeline.so рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдлрд┐рд░ рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдирдпрд╛ рдПрдкреАрдХреЗ рдмрдирд╛рддрд╛ рд╣реВрдВред рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдирдП рдПрдкреАрдХреЗ рдореЗрдВ libimagepipeline.so рд╣реИред . рдФрд░ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ рд╣реИ, рдпрд╣ рд╢рд╛рдпрдж рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ!

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ!

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

рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдбрдПрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдЕрдЪрд╛рдирдХ рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ couldn't find DSO to load: libimagepipeline.so рдерд╛, рдореИрдВ рдЗрд╕реЗ рдХреЙрдкреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рд▓реЗрдХрд┐рди рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░реИрдбрд▓ рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЧреНрд░реИрдбрд▓ рдХреИрд╢ рд╕рд╛рдлрд╝ рд╣реЛ рдЧрдпрд╛)

рдЕрдЧрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рддреЛ рдореИрдВ рдореВрд▓ рдХрд╛рд░рдг рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдлреНрд░реЗрд╕реНрдХреЛ 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'
}

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рдлреНрд░реЗрд╕реНрдХреЛ рдХрд┐рд╕реА рднреА рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд▓реЛрдбрд░ рдХреЗ рдмрдЬрд╛рдп рджреЗрд╢реА рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

рдЖрдкрдХреЛ exclude group: 'com.facebook.fresco', module: 'soloader' рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП 2.1.0 рд░рд┐рд▓реАрдЬ рджреЗрдЦреЗрдВ:

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

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд┐рдХрд╛рд╕реЛ рд╕реЗ рдлреНрд░реЗрд╕реНрдХреЛ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЕрднреА-рдЕрднреА рдкреНрд▓реЗрд╕реНрдЯреЛрд░ рдкрд░ рдЕрдкрдбреЗрдЯреЗрдб рдРрдк рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рдкрд╣рд▓реЗ рд╣реА рджрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдХреНрд░реИрд╢ рдПрдВрдбреНрд░реЙрдЗрдб рд╡рд░реНрдЬрди 7.1.2 рдкрд░ рдЯреНрд░реЗрдВрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛

Screenshot (158)

рдХреНрдпрд╛ рдЕрдм рдХреЛрдИ рдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдЙрдкрд▓рдмреНрдз рд╣реИ

рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди:

  • рдирд╡реАрдирддрдо рдлреНрд░реЗрд╕реНрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред SoLoader рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рдареАрдХ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ SoLoader рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░реЗрдВред
  • SoLoader рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рд╕реНрдЯрдо рдиреЗрдЯрд┐рд╡ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ https://github.com/facebook/fresco/issues/2049#issuecomment -615255009
  • рджреЗрд╢реА рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдЬрд╛рд╡рд╛-рдУрдирд▓реА рдлреНрд░реЗрд╕реНрдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рджреЗрдЦреЗрдВ https://github.com/facebook/fresco/releases/tag/v2.1.0 (рдпрд╣ рд╢рд╛рдпрдж рдкрд┐рдХрд╛рд╕реЛ рдХреЗ рд╕рдорд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднреА рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХреЛрдб рдХреЛ рдирд┐рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

@oprisnik рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд 3 рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ 2.2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдРрдк рдХреЛ рдлрд╛рдпрд░рдмреЗрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА

java.lang.RuntimeException: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде com.example.xyz.MyApplication: java.lang.RuntimeException: рдЧрд▓рдд рдиреЗрдЯрд┐рд╡ рдХреЛрдб рд╕реЗрдЯрдЕрдк, рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╡рд┐рдлрд▓ред

рдХреЗрд╡рд▓ API 19 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВред

рдореИрдВрдиреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛

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

рдЖрд░рдВрднрд┐рдХ рдлреНрд░реЗрд╕реНрдХреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ

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

рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИ

java.lang.RuntimeException: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде com.example.xyz.MyApplication: java.lang.RuntimeException: рдЧрд▓рдд рдиреЗрдЯрд┐рд╡ рдХреЛрдб рд╕реЗрдЯрдЕрдк, рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╡рд┐рдлрд▓ред
рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж: рдореБрдЦреНрдп
рдкреНрд░рдХреНрд░рд┐рдпрд╛: com.example.xyz, рдкреАрдЖрдИрдбреА: реирепреоремрей
java.lang.RuntimeException: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде com.example.xyz.MyApplication: java.lang.RuntimeException: рдЧрд▓рдд рдиреЗрдЯрд┐рд╡ рдХреЛрдб рд╕реЗрдЯрдЕрдк, рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╡рд┐рдлрд▓ред
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4423) рдкрд░
android.app.ActivityThread.access$1500(ActivityThread.java:139) рдкрд░
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270) рдкрд░
android.os.Handler.dispatchMessage (Handler.java:102) рдкрд░
android.os.Looper.loop рдкрд░ (Looper.java:136)
android.app.ActivityThread.main рдкрд░ (ActivityThread.java:5097)
java.lang.reflect.Method.invokeNative (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
java.lang.reflect.Method.invoke(Method.java:515) рдкрд░
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) рдкрд░
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) рдкрд░
dalvik.system.NativeStart.main (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.RuntimeException: рдЧрд▓рдд рдореВрд▓ рдХреЛрдб рд╕реЗрдЯрдЕрдк, рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:51) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformDecoder (ImagePipelineFactory.java:312) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getPlatformBitmapFactory (ImagePipelineFactory.java:304) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getAnimatedFactory (ImagePipelineFactory.java:164) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getImageDecoder (ImagePipelineFactory.java:227) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerFactory (ImagePipelineFactory.java:327) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getProducerSequenceFactory (ImagePipelineFactory.java:360) рдкрд░
com.facebook.imagepipeline.core.ImagePipelineFactory.getImagePipeline (ImagePipelineFactory.java:282) рдкрд░
com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier рдкрд░ред(PipelineDraweeControllerBuilderSupplier.java:52)
com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier рдкрд░ред(PipelineDraweeControllerBuilderSupplier.java:43)
com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilderSupplier рдкрд░ред(PipelineDraweeControllerBuilderSupplier.java:36)
com.facebook.drawee.backends.pipeline.Fresco.initializeDrawee(Fresco.java:121) рдкрд░
com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:110) рдкрд░
com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:54) рдкрд░
com.facebook.drawee.backends.pipeline.Fresco.initialize(Fresco.java:46) рдкрд░
com.example.xyz.MyApplication.onCreate(MyApplication.java:26) рдкрд░
android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1030) рдкрд░
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4420) рдкрд░
... 10 рдФрд░
рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.ClassNotFoundException: com.facebook.imagepipeline.platform.KitKatPurgeableDecoder
java.lang.Class.classForName (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
java.lang.Class.forName(Class.java:251) рдкрд░
java.lang.Class.forName(Class.java:216) рдкрд░
com.facebook.imagepipeline.platform.PlatformDecoderFactory.buildPlatformDecoder(PlatformDecoderFactory.java:44) рдкрд░
... 27 рдФрд░
рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.NoClassDefFoundError: com/facebook/imagepipeline/platform/KitKatPurgeableDecoder
... 31 рдФрд░
рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.lang.ClassNotFoundException: рдкрде рдкрд░ "com.facebook.imagepipeline.platform.KitKatPurgeableDecoder" рд╡рд░реНрдЧ рдирд╣реАрдВ рдорд┐рд▓рд╛: DexPathList[[zip file "/data/app/com.example.xyz-1.apk", рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ "/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 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

zewenwang picture zewenwang  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

satyarths picture satyarths  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hanhmh1203 picture hanhmh1203  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stephen-workpop picture stephen-workpop  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rhettor picture rhettor  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ