同一项目中 不同版本的glide:3.7.0和glide:4.9.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的方法。


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

有不懂的可以留言!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容