前言:
一些非常优秀的开源项目引入起来都是比较麻烦的,麻烦到都可以写一篇博客来引导后来人少踩坑的程度。我在最近一次项目中想要做一个GIF的展示功能,光是引入著名的gifhub开源项目android-gif-drawable就花费了一番功夫,今天把我踩过的坑都记录一下,提醒一下准备使用这个开源库的盆友。
GIF三方库引入方式:
方式一:直接添加dependence
这种方式在Android studio中最简单的一种方式,只需打开build.gradle文件,加入这一句话即可。一般我引入三方库都直接使用这样的方法,简便快捷,仅需一行就完成了依赖的部署,然后clean一下项目就可以使用依赖库里的类和方法了。
dependencies {
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
}
但是我这样引入以后再运行阶段出现一个crash 异常,如下:
AndroidRuntime: FATAL EXCEPTION: DBExecutor #1
Process: com.demo.app, PID: 15616
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.demo.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.demo.app-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "xxxx.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:988)
at com.demo.utils.JConstantUtils.<clinit>(Unknown Source)
at com.demo.handler.bk.<init>(Unknown Source)
at com.demo.handler.bj.f(Unknown Source)
at com.demo.handler.aq.a(