如图 引入喜马拉雅sdk后出现了Duplicate class,原因是它的SDK引入了 Lottie和广点通的包,为了保证兼容性,我想用我本地的 Lottie和广点通 版本,去除喜马拉雅aar里的 Lottie和广点通。
1.把MiyataOpenUISdk-1.0.2.aar改后缀成zip,得到解压后的MiyataOpenUISdk-1.0.2文件夹,里面包含classes.jar和res等。
2.同理把classes.jar改后缀成zip,解压后得到classes文件夹,找到冲突的包,直接删除整个文件夹,如图。
3.使用jar命令重新对classes文件夹打包成jar ,并替换掉之前的classes.jar。
jar cvf classes.jar -C classes/ .
3.同理,使用jar命令重新对MiyataOpenUISdk-1.0.2文件夹打包成aar ,得到的newAAR.aar即可使用。
jar cvf newAAR.aar -C MiyataOpenUISdk-1.0.2/ .
另外,cue一下喜马拉雅的SDK开发人员,是否考虑把Lottie、广告sdk、oaid等第三方SDK让接入者自己接入,而不是一股脑的全部打包进aar,导致接入时可能遇到很多冲突。或者使用 Provided(只参与编译,不打包到最终apk)。