美文网首页
Android aar包中class.jar文件冲突

Android aar包中class.jar文件冲突

作者: chuanggggg | 来源:发表于2020-05-30 17:23 被阅读0次

    一次同事为项目中添加优酷sdk,添加时发生了错误,报错为:


    image.png

    大概的意思是项目中有相同的类文件,检查后发现与阿里推送sdk中的jar文件产生了冲突,两个三方sdk引用了相同jar,如图:

    image.png
    查找的解决方案是 exclude对应的冲突jar包,但是发现冲突在classes.jar中,当冲突的文件处于classes.jar中exclude是不能解决的。只能手动删除冲突的文件。
    一番搜索后找到了一个过滤冲突文件的脚本https://github.com/Siy-Wu/ExcludeAar
    为了节省部署时间我直接使用脚本的DEMO,首先将需要过滤的aar包导入脚本libs中,如图: image.png

    然后配置dependencyConfig.gradle中过滤规则,如图:

    image.png
    注意:为了防止误删包下其他类文件尽量过滤对应的类文件不要过滤包名
    配置完成后,使用Android Studio中的右侧的Gradle面板,双击
    image.png
    控制台显示执行成功后,在build文件夹下生成相应的aar文件,如图:
    image.png
    解压查看生成文件中class.jar,成功过滤掉冲突的UTPageStatus.class类文件,完美解决冲突问题。 image.png

    相关文章

      网友评论

          本文标题:Android aar包中class.jar文件冲突

          本文链接:https://www.haomeiwen.com/subject/whsaahtx.html