1、问题
在最新的一次需求中,需要展示Gif图,通过衡量了Glide和android-gif-drawable这个这两库的展示效率,决定使用android-gif-drawable。于是从github直接把最新的arr包下载下来,并直接加入到项目,显示效果也非常的好,但发现在某些设备上一进入应用就会直接崩掉,log如下:
StackTrace=loadLibrary:dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.jb.emoji.gokeyboard-1/base.apk”],
nativeLibraryDirectories=[/data/app/com.jb.emoji.gokeyboard-1/lib/arm64, /system/fake-libs64, /data/app/com.jb.emoji.gokeyboard-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn’t find “libMFtInput.so”, load:dlopen failed: library “/data/data/com.jb.emoji.gokeyboard/lib/libMFtInput.so” not foundjava.lang.UnsatisfiedLinkError:
说找不到libMFtInput.so 这个so文件,libMFtInput.so是我们原本项目中就使用到的so文件,在没添加android-gif-drawable的arr包前不存在这个问题。所以可以定位是因为添加了android-gif_drawable的arr包导致,但添加一个新的arr库怎么会影响到libMFtInput.so文件呢?
2、分析
出错信息是说在lib/arm64-v8a中找不到libMFtI