同一项目中 不同版本的glide:3.7.0和glide:4.9

2021-02-10  本文已影响0人  AMrx

解决java.lang.NoSuchMethodError 问题。

一个项目中有俩个第三方包,一个包里的是glide:3.7.0 ,另一个包里的glide:4.9.0,方法冲突。但是又不能统一改成glide:4.9.0版本,因为4.9.0里有的方法,3.7.0里没有,而需要依赖glide3.7.0的项目包又需要这个方法。

只能直接修改glide3.7.0的内部代码了,先统一改成glide:4.9.0版本,然后点击定位到的错误,你会发现框架里有报错,如图

报错界面

原因是当你升级到Glide V4时,Glide修改以及删除了一些方法。具体看这篇文章

或者是Glide V4官方文档

在Glide V4中  .asBitmap()放在了  .with()的后面。占位图和过渡动画等等也进行了修改,并且没有了SimpleTarget 这个方法。那怎么办呢?不用着急,虽然它没有了SimpleTarget,但是它还有SimpleTarget这个方法,我们只需要转换一下就好了。

修改后(注释掉的为之前的代码)

因为3.7.0的框架里可能像这样的错误有很多处,耐心的都改完就行了。

还有一个Drawable转换为Bitmap的方法。

好了,到了这一步之后,就大工告成了。接下来就是如何使用了。

有不懂的可以留言!

上一篇下一篇

猜你喜欢

热点阅读