如何解决直播aar下面的classes.jar的子包和IM下面的jar包冲突的问题??

集成腾讯系第三方的直播与IM产生了许多冲突,找到了一份解决这种冲突的解决方案,感谢原博主

转自:https://blog.csdn.net/HuangLin_Developer/article/details/80614497

场景一
要移除的jar包不在aar包中的classes.jar中
直接把aar包里的Jar打包的时候给去掉,就像下面这这样。注意,要使用exclude module这种方式,直接使用exclude group方式没有效果。exclude group的方法适用于exclude JAR包中的文件。

    implementation(name: '×××××××aar包', ext: 'aar') {
        exclude module: 'gson'
    }


场景二(亲测可行~~好开心)
要移除的jar包在aar包中的classes.jar中
这个时候,使用exclude方法已经不能生效了。你可以使用下面的通用方法

解压aar文件到tmpDir目录下 
unzip ×××.aar -d tmpDir
找到classes.jar包,用压缩工具打开,删除目标文件
将tmpDir重新打包成一个新的aar 
jar cvf ×××NewLib.aar -C tmpDir/
补充:我在Ubuntu下直接使用压缩工具打开aar包,然后删除其中的重复的文件,这个方法也是可行的。

 

 

你可能感兴趣的:(如何解决直播aar下面的classes.jar的子包和IM下面的jar包冲突的问题??)