AndroidX适配,ListenableFuture问题

项目引入了com.google.guava的包,转化为androidx后运行时候出现错误:
Error: Program type already present: com.google.common.util.concurrent.ListenableFuture

查类ListenableFuture(com.google.common.util.concurrent.ListenableFuture),发现有两个包中都有这文件,一个包是com.google.guava:listenablefuture:1.0,一个是com.google.guava:guava:20

用gradlew -q app:dependencies 查看包依赖,发现有两个地方有
±-- androidx.appcompat:appcompat:1.1.0-alpha01
| ±-- androidx.annotation:annotation:1.0.0 -> 1.0.1
| ±-- androidx.core:core:1.1.0-alpha01 -> 1.1.0-alpha02
| | ±-- com.google.guava:listenablefuture:1.0
| | ±-- androidx.annotation:annotation:1.0.1
| | ±-- androidx.collection:collection:1.0.0 -> 1.1.0-alpha01
| | | — androidx.annotation:annotation:1.0.0 -> 1.0.1
| | ±-- androidx.lifecycle:lifecycle-runtime:2.0.0
| | | ±-- androidx.lifecycle:lifecycle-common:2.0.0
| | | | — androidx.annotation:annotation:1.0.0 -> 1.0.1
| | | — androidx.arch.core:core-common:2.0.0
| | | — androidx.annotation:annotation:1.0.0 -> 1.0.1
| | ±-- androidx.versionedparcelable:versionedparcelable:1.1.0-alpha01
| | | ±-- androidx.annotation:annotation:1.0.0 -> 1.0.1
| | | — androidx.collection:collection:1.0.0 -> 1.1.0-alpha01 (*)
| | — androidx.concurrent:concurrent-futures:1.0.0-alpha02
| | ±-- com.google.guava:listenablefuture:1.0
| | — androidx.annotation:annotation:1.0.0-rc01 -> 1.0.1

最后在app的build.gradle配置文件中加入配置,全局过滤掉这个
android {
configurations {
//这里要排除到这个包,这个包会与 com.google.guava 冲突,导致编译不过
all*.exclude group: ‘com.google.guava’, module: ‘listenablefuture’
}
}
之后编译运行ok

猜你喜欢

转载自blog.csdn.net/luohai859/article/details/90517469