美文网首页
引用包冲突问题记录

引用包冲突问题记录

作者: Leero丶 | 来源:发表于2023-03-21 16:44 被阅读0次

    起因,想玩一下 jetpack compose,但是用的AndroidStudio版本太低不支持,然后手贱升级了,接着问题就来了。
    凡是Activity中的 viewModels<VM>() 方法都报红了,无法正常引用,但是代码是可以正常运行的。

    image.png

    首先看了下 viewModels<VM>() 这个方法,它是kotlin扩展ComponentActivity的方法

    image.png

    ComponentActivity在androidx.activity库下,又继承了androidx.core里的ComponentActivity


    image.png

    这个时候问题发现了,项目里有两个版本的androidx.core,明显是冲突了,可是运行是正常的,说明最后应该只有一个版本。


    image.png

    然后导出依赖树看了下,确实全部都指向了项目里引用的最新的那个版本,那么解决这个引用包冲突应该就解决问题了。


    image.png

    通过在根目录的 build.gradle 上指定一个版本,同步后就会发现只有一个版本的库引用了,Rebuild下后代码也没报红了。

    configurations.all {
            resolutionStrategy {
                resolutionStrategy.eachDependency { details ->
                    // 根据依赖树最后指定的版本,编译时统一指定,避免冲突
                    if (details.requested.group == 'androidx.core' && details.requested.module == "core") {
                        details.useVersion "1.8.0"
                    }
                    if (details.requested.group == 'androidx.fragment') {
                        details.useVersion "1.5.5"
                    }
                }
            }
        }
    
    image.png

    相关文章

      网友评论

          本文标题:引用包冲突问题记录

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