How to solve Program type already present: com.google.common.util.concurrent.ListenableFuture?

痞子三分冷 提交于 2019-11-27 19:37:02

In my case, I had to add the following configurations to app's module build.gradle:

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

It happens because some dependencies use com.google.guava:guava and com.google.guava:listenablefuture together. It causes a dependency conflict.

Take a look at https://issuetracker.google.com/issues/116154359.

The workaround is:

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

I merely added implementation 'com.google.guava:guava:27.0.1-android' at the end of my app gradle file and the error went away.

I am using ListenableFuture that comes from the work manager.

implementation("android.arch.work:work-runtime:1.0.0")

So excluding exclude group: 'com.google.guava', module: 'listenablefuture', didn't work for me.

I was using a dependency that internally used androidTestImplementation "com.google.truth:truth:42" that internally used com.google.guava:guava:25.0.1-android. This was causing the problem for me.

Upgrading com.google.truth:truth to 43 solved it for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!