Android 如何强制特定依赖项使用gradle中特定版本的库

Android 如何强制特定依赖项使用gradle中特定版本的库,android,gradle,Android,Gradle,我有一个依赖项'com.liferay.mobile:liferay屏幕:2.1.4',我想强制它使用'com.android.support:support-v4:28.0.0'。 我如何仅对gradle中的liferay屏幕依赖项执行此强制 我已按以下方式完成,但会出现错误: 错误:找不到参数[build\u e4u81lzxji4bi1lau20a1sng2$\u run\u closure3]的方法com.liferay.mobile:liferay屏幕:2.1.4()$_closure

我有一个依赖项
'com.liferay.mobile:liferay屏幕:2.1.4'
,我想强制它使用
'com.android.support:support-v4:28.0.0'
。 我如何仅对gradle中的
liferay屏幕
依赖项执行此强制

我已按以下方式完成,但会出现错误:

错误:找不到参数[build\u e4u81lzxji4bi1lau20a1sng2$\u run\u closure3]的方法com.liferay.mobile:liferay屏幕:2.1.4()$_closure7@2be4e1d1]在org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler类型的对象上。

implementation 'com.liferay.mobile:liferay-screens:2.1.4' {
    resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
}

在Gradle 6.0中,我的建议是在
约束中使用新的:

dependencies {
    implementation 'com.liferay.mobile:liferay-screens:2.1.4'
    constraints {
        implementation('com.android.support:support-v4') {
            version {
                strictly '28.0.0' // Will make sure that library uses that version in your build
            }
        }
    }
}
在Gradle 6.0之前,您的方式是推荐的方式,但语法需要调整:

dependencies {
    implementation 'com.liferay.mobile:liferay-screens:2.1.4'
}
configurations.all {
    // Will force that dependency version everywhere
    resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
}
正如您试图表达的那样,只在给定的上下文中强制一个版本实际上是没有意义的。重要的是,您希望总的解决方案始终使用该特定版本。

您不能这样做。