facebook / fresco

An Android library for managing images and the memory they use.
https://frescolib.org/
MIT License
17.08k stars 3.75k forks source link

Fresco can't load libmemchunk.so #1031

Closed lozn00 closed 8 years ago

lozn00 commented 8 years ago

使用的是com.facebook.drawee.view.SimpleDraweeView 加载图片 compile 'com.facebook.fresco:fresco:0.6.1' 版本是0.6.1 我的手机运行程序后总是崩溃,在加载图片的界面,抓取log后的结果如下;

**

Use com.facebook.drawee.view.SimpleDraweeView to load the picture Compile'com.facebook.fresco:fresco:0.6.1' The version is 0.6.1 Mobile phone running the program after I always collapse, in the loading picture interface, grab log after the results are as follows; **

SUPPORTED_64_BIT_ABIS=[Ljava.lang.String;@2f8fe784 versionCode=12 BOARD=msm8992 BOOTLOADER=unknown TYPE=user ID=LMY47V TIME=1456331454000 BRAND=Xiaomi TAG=Build SERIAL=c3c12285 HARDWARE=qcom SUPPORTED_ABIS=[Ljava.lang.String;@2ce7fb6d CPU_ABI=arm64-v8a RADIO=BO.2.6.c1.2-0224_2205_940c3ae IS_DEBUGGABLE=false MANUFACTURER=Xiaomi SUPPORTED_32_BIT_ABIS=[Ljava.lang.String;@20282997 TAGS=release-keys CPU_ABI2= UNKNOWN=unknown USER=builder FINGERPRINT=Xiaomi/libra/libra:5.1.1/LMY47V/6.2.25:user/release-keys HOST=zc-miui-ota-bd48 PRODUCT=libra versionName=2.4 DISPLAY=LMY47V MODEL=Mi-4c DEVICE=libra java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_9_54fca8cc4c8895083a19bf6e4043b676d2599bf0-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_8_7e3c1ca7ff0981ea4b0937a5e3a9e0ecb1d5672e-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_7_c4c98355a2d48094749c958467e737306bfdb907-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_6_af21bca84264dc65a04379603a68516faafc241c-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_5_f4732705814b1deb12bf1897c11fa0c0dd5e224b-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_4_52d16d58293342a6645beb88d3f438cee9aab9ea-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_3_8b28b718c2df7da0d32156c6d10eae3bd2932fb1-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_2_35fe53731f6ee03883331e6d55521ecd91dab2d3-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_1_4e30b5786afa3b15f481b76e42611e7c639cf7de-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-slice_0_43d5b6d7d579b8199adb345f67d6729c56f838b4-classes.dex", dex file "/data/data/com.huluboshi/files/instant-run/dex/slice-dependencies_cf249d08119d348c44312a7d08c8c45b8e824f78-classes.dex"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]] couldn't find "libmemchunk.so" at java.lang.Runtime.loadLibrary(Runtime.java:366) at java.lang.System.loadLibrary(System.java:988) at com.facebook.common.soloader.SoLoaderShim$DefaultHandler.loadLibrary(SoLoaderShim.java:32) at com.facebook.common.soloader.SoLoaderShim.loadLibrary(SoLoaderShim.java:56) at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit>(NativeMemoryChunk.java:36) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:60) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc(NativeMemoryChunkPool.java:22) at com.facebook.imagepipeline.memory.BasePool.get(BasePool.java:259) at com.facebook.imagepipeline.memory.NativePooledByteBufferOutputStream.<init>(NativePooledByteBufferOutputStream.java:53) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:98) at com.facebook.imagepipeline.memory.NativePooledByteBufferFactory.newByteBuffer(NativePooledByteBufferFactory.java:26) at com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache(BufferedDiskCache.java:203) at com.facebook.imagepipeline.cache.BufferedDiskCache.access$300(BufferedDiskCache.java:38) at com.facebook.imagepipeline.cache.BufferedDiskCache$1.call(BufferedDiskCache.java:104) at com.facebook.imagepipeline.cache.BufferedDiskCache$1.call(BufferedDiskCache.java:88) at bolts.Task$2.run(Task.java:195) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

**我怀疑清理工具可能磁盘把一些facebook缓存的图片给删除了,导致数据不完整,结果导致程序崩溃

之后 我就调用了清除缓存的代码 ,不崩溃了,只是图片不显示了,怎么弄?**

I suspect that the cleaning tool disk may be deleted some Facebook cache pictures, lead to incomplete data, resulting in a crash After I was called to clear the cache of the code, do not collapse, but the picture does not show up, how to do? ImagePipeline imagePipeline = Fresco.getImagePipeline(); imagePipeline.clearCaches();

michalgr commented 8 years ago

The crash was caused by Fresco not being able to load libmemchunk.so native library with is essential, without it Fresco can't do anything.

What is the affected android device ? Also, you mentioned disk cleaning tool - is there a chance that it could remove libs used by Fresco ?

lozn00 commented 8 years ago

崩溃的问题找到了是因为gradle debug version 相关原因 但是 关于图片缓存的 可能是某些清理工具清理磁盘 清理的不完整,导致加载图片出现了一些问题。 The collapse of the problem found is that gradle debug version related reasons but about the image cache may be some cleaning tool to clean up the disk cleanup is not complete, there are some problems lead to load the picture.

lozn00 commented 8 years ago

崩溃的问题找到了是因为gradle debug version 相关原因 但是 关于图片缓存的 可能是某些清理工具清理磁盘 清理的不完整,导致加载图片出现了一些问题。 The collapse of the problem found is that gradle debug version related reasons but about the image cache may be some cleaning tool to clean up the disk cleanup is not complete, there are some problems lead to load the picture.