记录下android项目引入腾讯im(tuichat)自定义UI和腾讯音视频在线直播(tuilivekit)含UI打包正式包冲突解决问题。
项目先引入了tuilivekit,测试无问题,但是没有画面,是直接在github上下载的最新的,经测试发现总是会无法展示预览画面,还会崩溃,最后定位到GridLayoutHelper类中的addViewToGrid(View view
int row,int column)方法使用view时候没有添加空判断,但是加上空判断又会导致第一次进入后可以预览,再次进入无法预览问题,跟腾讯技术沟通后,暂时无果,先不添加空判断,等待解决中。
尝试打包release版本时候发现一直会报r8问题,这是打包release常见的问题,排查发现tuicore module中的很多类与tuilivekit引入的tuicore远程库冲突了,导致打包失败,最后删除了tuicore module 在 timcommon module中加入tuicore远程库和imsdk才解决。
个人感觉腾讯im和直播的sdk版本使用比较混乱,im中使用tuicore版本只能是老版本,使用新版本需要修改大量代码,还有一些变量标识在新版本中已经删除,这样修改工作量不少,比较麻烦。还有一个问题就是,含UI的im需要登录,含UI的直播还需要登录,账号信息和app信息是在两者登录之后存储变量的,这样就会导致有时候会重复登录,没办法只能自己动手修改存储,调用登录时候先判断im有没有登录,如果登录就直接获取信息,进行本地存储。搞不懂他们的操作,说好的相互不依赖,相互独立,结果独立成这样了,坑!