美文网首页实用
Android引用库冲突解决

Android引用库冲突解决

作者: 风卷残云啊 | 来源:发表于2022-05-07 11:53 被阅读0次

    1、定位问题,当没有具体的错误信息时,很有可能是冲突导致的,我们可以在AndroidStudio自带的terminal里输入如下命令查看详细错误信息

    windows电脑下命令:gradlew  assembleDebug  --stacktrace
    
     mac电脑下命令:./gradlew  assembleDebug  --stacktrace
    

    如果命令报错,可参考这篇文章Mac AndroidStudio执行 gradle assembleDebug --stacktrace 报出 bash: gradlew: command not found_奈何若何的博客-CSDN博客

    2、如果是依赖库版本不一致冲突,改为一致即可,一般是以高版本的为主

    3、如果是依赖重复冲突,可通过下面(4、5)两种方法尝试解决

    当然也可以通过替换包来解决(适用于引入的两个包都是同一第三方的)比如接入了腾讯的视屏播放,又接入了腾讯其他的功能比如这两个包 LiteAVSDK_Player_5.4.6097和com.tencent.liteav:LiteAVSDK_TRTC,一起引入就会有冲突,这个时候只需要将这两个引用替换成 LiteAVSDK_Professional_9.4.10921即可

    4、如果项目 通过本地 AAR 依赖有冲突,可以尝试将 aar 以 Module 的方式添加到工程中

    5、如果项目 通过 Maven 仓库依赖 有冲突,可以使用 exclude 去掉冲突部分

      去掉依赖库中的某个冲突包,如下
      去掉 module 引用的 'com.tencent.liteav:LiteAVSDK_TRTC'的相关内容,如下
      implementation(project(':tempLibrary')) {
           exclude group: 'com.tencent.liteav:LiteAVSDK_TRTC', module: 'LiteAVSDK_TRTC'
       }
     
      去掉依赖库中的某个冲突包,如下
      compile ('com.github.MagicMashRoom:SuperCalendar:1.6'){
            exclude group: 'com.android.support'
      }
    

    相关文章

      网友评论

        本文标题:Android引用库冲突解决

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