美文网首页
同一项目中 不同版本的glide:3.7.0和glide:4.9

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

作者: AMrx | 来源:发表于2021-02-10 11:50 被阅读0次

    解决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的方法。

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

    有不懂的可以留言!

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/ibohxltx.html