Transloadit Dependency 对于编译 (x) 和运行时 (y) 有不同的版本

Transloadit Dependency has different version for the compile (x) and runtime (y)

我想添加 transloadit android sdk。 gradle 构建失败并出现以下错误:

Android dependency 'io.tus.android.client:tus-android-client' has different version for the compile (0.1.5) and runtime (0.1.7) classpath. You should manually set the same version via DependencyResolution

我已经为支持库使用了 dependencyResolution,但我不确定如何处理 transloadit。这是我目前所拥有的。

configurations.all {
    resolutionStrategy.force "com.android.support:support-v4:28.0.0"
    resolutionStrategy.force "com.android.support:appcompat-v7:28.0.0"
}

我在导致问题的其中一个子模块中发现了同一库的不同版本。

在我的例子中,a 能够移除另一个依赖项。但是,如果您有使用的库,即您必须使用的旧版本库,您可以执行以下操作:

如此处所述 -> https://developer.android.com/studio/build/gradle-tips#configure-project-wide-properties

您可以通过在根文件夹中添加 ext 并指定应使用哪个版本来覆盖子模块和库中使用的库的版本号。在我的例子中,我覆盖了 android v4 和 v7 支持库和播放服务位置库的版本。

这是我必须添加到根 gradle 文件

中的内容
ext {
    compileSdkVersion = 28
    supportLibVersion = "28.0.0"
    googleMapsLibVersion = "16.0.0"
}
allprojects {
    repositories {
        google()
        jcenter()
    }
    configurations.all {
        resolutionStrategy.force "com.android.support:support-v4:${rootProject.ext.supportLibVersion}"
        resolutionStrategy.force "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
        resolutionStrategy.force "com.google.android.gms:play-services-location:${rootProject.ext.googleMapsLibVersion}"
    }
}

在我的模块中 "app" 我也可以使用这些版本

implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.android.support:support-v13:${rootProject.ext.supportLibVersion}"
implementation "com.android.support:recyclerview-v7:${rootProject.ext.supportLibVersion}"
implementation "com.google.android.gms:play-services-location:${rootProject.ext.googleMapsLibVersion}"
implementation "com.google.android.gms:play-services-maps:${rootProject.ext.googleMapsLibVersion}"