WrongAbiError: APK was built for a different platform, fresco 2.1.0
See original GitHub issueDescription
https://github.com/facebook/SoLoader/issues/39 After updating to fresco:2.1.0 we still have crashes:
Fatal Exception: com.facebook.soloader.SoLoader$WrongAbiError: APK was built for a different platform
at com.facebook.soloader.SoLoader.loadLibraryBySoName + 645(SoLoader.java:645)
at com.facebook.soloader.SoLoader.loadLibrary + 577(SoLoader.java:577)
at com.facebook.soloader.SoLoader.loadLibrary + 525(SoLoader.java:525)
at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary + 24(NativeLoaderToSoLoaderDelegate.java:24)
at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary + 43(NativeLoader.java:43)
at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit> + 31(NativeMemoryChunk.java:31)
at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 29(NativeMemoryChunkPool.java:29)
at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 15(NativeMemoryChunkPool.java:15)
at com.facebook.imagepipeline.memory.BasePool.get + 243(BasePool.java:243)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init> + 51(MemoryPooledByteBufferOutputStream.java:51)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 73(MemoryPooledByteBufferFactory.java:73)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 24(MemoryPooledByteBufferFactory.java:24)
at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage + 78(LocalFetchProducer.java:78)
at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage + 88(LocalFetchProducer.java:88)
at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage + 33(LocalResourceFetchProducer.java:33)
at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 44(LocalFetchProducer.java:44)
at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 40(LocalFetchProducer.java:40)
at com.facebook.common.executors.StatefulRunnable.run + 43(StatefulRunnable.java:43)
at java.util.concurrent.ThreadPoolExecutor.runWorker + 1112(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run + 587(ThreadPoolExecutor.java:587)
at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run + 50(PriorityThreadFactory.java:50)
at java.lang.Thread.run + 818(Thread.java:818)
Caused by java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so caused by: dlopen failed: "/data/data/ru.app/lib-main/libimagepipeline.so" has unexpected e_machine: 40
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName + 789(SoLoader.java:789)
at com.facebook.soloader.SoLoader.loadLibraryBySoName + 639(SoLoader.java:639)
at com.facebook.soloader.SoLoader.loadLibrary + 577(SoLoader.java:577)
at com.facebook.soloader.SoLoader.loadLibrary + 525(SoLoader.java:525)
at com.facebook.soloader.NativeLoaderToSoLoaderDelegate.loadLibrary + 24(NativeLoaderToSoLoaderDelegate.java:24)
at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary + 43(NativeLoader.java:43)
at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit> + 31(NativeMemoryChunk.java:31)
at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 29(NativeMemoryChunkPool.java:29)
at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 15(NativeMemoryChunkPool.java:15)
at com.facebook.imagepipeline.memory.BasePool.get + 243(BasePool.java:243)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init> + 51(MemoryPooledByteBufferOutputStream.java:51)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 73(MemoryPooledByteBufferFactory.java:73)
at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 24(MemoryPooledByteBufferFactory.java:24)
at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage + 78(LocalFetchProducer.java:78)
at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage + 88(LocalFetchProducer.java:88)
at com.facebook.imagepipeline.producers.LocalResourceFetchProducer.getEncodedImage + 33(LocalResourceFetchProducer.java:33)
at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 44(LocalFetchProducer.java:44)
at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 40(LocalFetchProducer.java:40)
at com.facebook.common.executors.StatefulRunnable.run + 43(StatefulRunnable.java:43)
at java.util.concurrent.ThreadPoolExecutor.runWorker + 1112(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run + 587(ThreadPoolExecutor.java:587)
at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run + 50(PriorityThreadFactory.java:50)
at java.lang.Thread.run + 818(Thread.java:818)
Application.java
OkHttpClient.Builder ohcb = new OkHttpClient.Builder()
.proxy(Proxy.NO_PROXY)
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request.Builder ongoing = chain.request().newBuilder();
ongoing.addHeader("X-device", "android");
// etc..
return chain.proceed(ongoing.build());
}
});
ImagePipelineConfig imagePipelineConfig = OkHttpImagePipelineConfigFactory
.newBuilder(this, ohcb.build())
.build();
Fresco.initialize(this, imagePipelineConfig);
Reproduction
I can’t reproduce this crash on all my devices and emulators.
Additional Information
- Fresco version: 2.1.0
- imagepipeline-okhttp3: 2.1.0
- androidx
- we use apk, NOT bundle
For now, we have only several crashes, all of this on ASUS ZenFone 2 (ZE551ML) Android 6.0.1, Android 5.0 I will add more information about devices when it appears.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:1
- Comments:8
Top Results From Across the Web
SoLoader$WrongAbiError with React Native Android
SoLoader$WrongAbiError: APK was built for a different platform at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:253) at com.facebook.react.bridge ...
Read more >APK是为不同平台而 Build 的,Fresco 2.1.0 - 编程技术网
SoLoader$WrongAbiError: APK was built for a different platform at com.facebook.soloader.SoLoader.loadLibraryBySoName + 645(SoLoader.java:645) at ...
Read more >Meta SoLoader Issues - Giters
SoLoader 0.8.0 couldn't find DSO to load - issue on .apk build ... WrongAbiError: APK was built for a different platform, fresco 2.1.0....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
We have solved this issue by removing SoLoader from Fresco lib
https://frescolib.org/docs/#5-optional-setting-a-non-default-native-library-loader-only-for-fresco-21-and-above
We are having the same issue with Fresco
2.1.0
on a Chromebook Pixel (2015), any updates? 🙏