Fresco 与 百度地图SDK冲突解决办法
最近项目中需要加载大图,宽750px,高度不限,但是却出现了加载大图后,图片模糊的问题,由于图片加载框架用的是UIL,然后google了一下,找到了一篇说明比较详细的文章,这里贴下链接
然后满怀感激,使用文章中说的方法去解决这个问题,最后却发现问题并没有被解决,不知道是不是我遗漏了什么,如有好的办法,还请不吝赐教
UniversalImageloader 加载图片模糊问题的解决办法:http://vase.iteye.com/blog/2169517
各种折腾过后,问题仍在,最后不得不考虑替换图片框架。由于项目中使用图片不是特别多,Fresco的使用也很简便,于是决定使用Fresco替换一直在使用的UIL图片加载框架。
主题来了,当我将Fresco引入项目的时候,竟然报错了,错误日志:
java.lang.UnsatisfiedLinkError: Native method not found:
...
at com.baidu.platform.comjni.map.commonmemcache.a.a(Unknown Source)
at com.baidu.platform.a.c.b.b(Unknown Source)
at com.baidu.mapapi.a.c(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at com.liangkezhong.BailumeiApplication.onCreate(BailumeiApplication.java:129)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4440)
at android.app.ActivityThread.access$1500(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5113)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
这一看很明显是一个跟百度地图相关的错误,继续跟进问题,发现可能是Fresco与百度地图的so文件发生了冲突,最后贴下解决办法:
将百度地图的所有CPU类型的.so文件都放到jniLibs文件夹中