如何解决“程序类型已经存在:com.google.common.util.concurrent.ListenableFuture”?

2022-08-31 16:00:18

我正在尝试使用 WorkManager 1.0.0-alpha09。并得到这个错误:

Program type already present: 
com.google.common.util.concurrent.ListenableFuture

Message{kind=ERROR, text=Program type already present: 
com.google.common.util.concurrent.ListenableFuture, sources=[Unknown source 
file], tool name=Optional.of(D8)}

如果我使用版本1.0.0-alpha08或更低。我没有得到这个错误,但我需要公共构造函数

public Worker(Context context, WorkerParameters workerParams)

答案 1

在我的情况下,我必须将以下配置添加到应用程序的模块中:build.gradle

configurations {
    all*.exclude group: 'com.google.guava', module: 'listenablefuture'
}

发生这种情况是因为某些依赖项使用和一起使用。它会导致依赖关系冲突。com.google.guava:guavacom.google.guava:listenablefuture


答案 2

看看 https://issuetracker.google.com/issues/116154359

解决方法是:

implementation("android.arch.work:work-runtime:1.0.0-alpha09") {
    exclude group: 'com.google.guava', module: 'listenablefuture' 
}

推荐