我想添加 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 支持库和 play-service-location 库的版本。
这是我必须添加到我的根 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}"
关于android - Transloadit Dependency 对于编译(x)和运行时(y)有不同的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52776298/