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

引用包冲突问题记录

作者: 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