Upgrade Glide in xxx Video SDK 4.11.0 Precautions

今天需要升级xxx sdk 但是在升级过程中遇到很多问题,故做下记录:

依赖未导入引起的问题:

xxx sdk有两个包,androidx包和support包,在升级androidx包的过程中,当把所有aar包导入,修改gradle配置,并将配置项修改完毕后同步工程报以下错误:

报出缺少样式和属性配置,怀疑是arr包中缺少对应资源,询问xxx方sdk负责人,经人解答:原因为未引入:

api 'com.github.ybq:Android-SpinKit:1.4.0'

大为羞愧,原因是自己在阅读文档中粗心导致,以后阅读文档一定要仔细,更应该注意,类似aar包中缺少资源的问题应该检查一下,是否是文档中一些库未引入导致的。

引入androidx包需升级glide问题

在升级androidx包的过程,编译运行程序后报出了xml解析异常:

一开始以为是某个控件的问题,全都把心思放到了检查控件属性上:中间百度了各种xml解析异常可能原因:其中有引用了错误的图片资源,style资源,图片资源没有分包导致,真机获取不到实际分辨率的图片,会抛出这个异常,还有自定义控件的创建

应该包含三个构造方法等,检查代码发现代码中自定义控件确实只写了两个,好奇之前为什么不出问题,后来加上第三个带有三个参数的构造方法也是照样异常,渐渐有些想不通了,感觉能想到的可能造成xml解析异常的原因都想到了,但是依然解决不了,

继续思考:是不是自定义控件中一些初始化的属性,与新引入的包冲突了导致,尝试将自定义控件初始化部分函数注释运行,果真不再报出xml解析异常,而是抛出空指针异常这里不出所料,所以把问题定位到自定义控件的初始化部分:经过二分法注释代码留一半运行一半的方法,将抛出异常位置定位到如下位置:

glide使用的是4.8.0的包不支持androidx, 在 4.9.0后glide开始支持androidx  询问xxx sdk负责人建议将sdk 主项目的依赖升级到4.10.0 支持androidx的版本,经过一番折腾修改了主项目glide版本和依赖glide版本后,再次运行问题解决。

这里需要注意的问题是,添加的aar包里面有可能和需要依赖主项目和其他项目下的依赖产生关联的,同时需要注意的是,glide是4.8.0后开始支持androidx的。

放弃使用androidx包改用support包

后来决定放弃使用androidx包的sdk 而 使用support 包,原因是需要升级glide会导致原有项目中的和彩云sdk崩溃,推测和彩云sdk依赖了主项目内的glide,且使用了glide4.8.0一下独有的方法

support包集成遇到的问题:

此问题为aar包冲突,两个包包含共同全类目的类:

联系sdk负责人,更换aar 包解决。

猜你喜欢

转载自blog.csdn.net/new_acm_/article/details/114275924
今日推荐