如果两个从属库强制使用公共库的不同版本,那么该公共库所使用的版本是什么

时间:2018-08-09 19:19:06

标签: android-gradle resolutionstrategy

具有一个依赖于多个lib模块的应用程序。

在不同的lib模块中,它们依赖于公共库('common_utils_lib'),但是通过resolutionStrategy强制使用最适合该托管库的版本。

,在应用中,resolutionStrategy可能有自己的'common_utils_lib'

因此,可能为同一'common_utils_lib'指定了三个不同的版本。

application:  forceToUseVersion = 1
libA: forceToUseVersion = 2
libB: forceToUseVersion = 3

构建应用程序时,我猜最终版本将是应用程序“强制”的版本-版本1。

但是,如果应用程序未为resolutionStrategy指定'common_utils_lib'怎么办?将要选择的'common_utils_lib'是什么版本?

版本2或版本3?

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.name.contains('common_utils_lib'))
    ) {
        details.useVersion "$forceToUseVersion"
    }
}

0 个答案:

没有答案