我想添加 transloadit android sdk。gradle 构建失败,并显示以下错误:
Android dependency 'io.tus.android.client:tus-android-client' has 编译 (0.1.5( 和运行时 (0.1.7( 的不同版本 类路径。您应该通过以下方式手动设置相同的版本 依赖关系解析
我已经将依赖项Resolution 用于支持库,但我不确定如何处理 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}"
}
}
在我的模块"应用程序"中,我也可以使用这些版本
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}"