Duplicate class com.google.pospolite.util./ align = "left" / ListenableFuture Znalezione w modułach guava-20.0.jar (kom.google.guawa:guawa: 20.0)

Kiedy używam implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0' w moim app/build.gradle, dostaję ten błąd:

Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules guava-20.0.jar (com.google.guava:guava:20.0) and listenablefuture-1.0.jar (com.google.guava:listenablefuture:1.0)

Go to the documentation to learn how to Fix dependency resolution errors.

W moim {[3] } jest to:

implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.8'
implementation 'com.google.android.gms:play-services-awareness:16.0.0'
implementation 'com.google.android.gms:play-services-cast:16.2.0'
implementation 'com.google.android.gms:play-services-gcm:16.1.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-iid:17.1.2'
implementation 'com.google.firebase:firebase-messaging:17.6.0'
implementation 'android.arch.work:work-runtime:1.0.1'
implementation 'com.android.support:multidex:1.0.3'
apply plugin: 'com.google.gms.google-services'

Może jedna z bibliotek, z których korzystam, zawiera już obsługę zależności od wiadomości w aplikacji, a potem staje się zbędna? Dziękuję.

Author: stkent, 2019-06-17

9 answers

2020 rozwiązanie

Google wie o tym błędzie, więc zrobili specjalny pakiet, aby naprawić konflikt.

Dodaj to do swojego build.gradle

implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
 244
Author: Ray Li,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-09 14:09:20

Znalazłem rozwiązanie w Jak rozwiązać program typu już obecnego: com.google.pospolite.util./ align = "left" / Słuchać przyszłości?. user2297550 said:

Po prostu dodałem implementation 'com.google.guava:guava:27.0.1-android' na końcu pliku Gradle aplikacji i błąd zniknął.

To było rozwiązanie dla mnie. Teraz mam to i moja aplikacja kompiluje się poprawnie:
implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
implementation 'com.google.guava:guava:27.0.1-android'
 66
Author: Jaime Montoya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-17 23:15:09

Dodaj tę linię w build.gradle

    implementation 'com.google.guava:guava:27.0.1-android'
 10
Author: Prabhu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-22 13:31:59

Natknąłem się na to, budując mój projekt Flutter. Nie do końca wiem, dlaczego wychował swoją brzydką głowę, ale oto jestem.

Więc, jeśli jakiś programista Flutter natknie się na to, odpowiedź @ Ray Li zadziałała dla mnie. Plik build.gradle, który chcesz edytować, znajduje się w folderze android/app (np. Nie ten w folderze android).

Wystarczy dodać implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava' do sekcji zależności na końcu pliku, w następujący sposób:

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
}
 9
Author: Tarique Naseem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-17 11:53:05

Napotkałem ten sam problem. Dodałem wiersz poniżej

implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'

To działa, ale napotkałem inny problem - Cannot fit requested classes in a single dex file (# methods: 89411 > 65536) aby rozwiązać ten błąd, upewnij się, że włączyłeś multiDex jak poniżej

defaultConfig {
    applicationId "com.techweezy.smartsync"
    minSdkVersion 19
    targetSdkVersion 29
    versionCode 5
    versionName "1.4"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true //added this line
}

Następnie na koniec dodaj poniższe linie.

   implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'
    implementation 'androidx.multidex:multidex:2.0.1'
 5
Author: Jackson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-29 20:17:18

Zmniejsz zduplikowane zależności z projektu

Na przykład wiele zależności używa support-v4 i appcompat-v7 jako dołączonych pakietów i wtedy mogą być różne wersje, więc musisz usunąć te pakiety z wewnątrz zależności i utworzyć jedną zależność kompilacji.

Spowoduje to usunięcie wszystkich dołączonych modułów bibliotek

android {
  configurations {
     all*.exclude module: 'appcompat-v7'
     all*.exclude module: 'support-v4'
  }
}

Lub możesz zarządzać wyrzuceniem każdej zależności do bardziej przejrzystego usuwania takich pakietów:

dependencies {
  implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:4.2.0@aar') {//depend on your library
     transitive = true
     exclude group: 'com.android.support', module: 'appcompat-v7'
     exclude group: 'com.android.support', module: 'recyclerview-v7'
     exclude group: 'com.android.support', module: 'design'
     exclude group: 'com.android.support', module: 'support-v4'
     exclude group: 'com.squareup.retrofit2' module: 'retrofit'
     exclude group: 'com.squareup.retrofit2', module: 'retrofit'
     exclude group: 'com.google.code.gson', module: 'gson'
     exclude module: 'guava'//add this line if you have build error "found in modules guava-xxx-android.jar"
  }
}

Wszystkie usunięte zależności muszą być zadeklarowane poza mapbox w jednej kopii dla wszystkich bibliotek, które ich używają.

 4
Author: vishwajit76,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-02 11:48:58
  1. Otwórz plik build.gradle.

  2. Nie zastępuj! Wystarczy dodać ten wiersz do dependencies{}:

    implementation 'com.google.guava:guava:<version>-jre'
    

Uwaga: Aby pobrać wersję przejdź do https://mvnrepository.com/artifact/com.google.guava/guava i znajdź najnowszą wersję jre.

 1
Author: Pasindu Jayanath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-15 06:02:30

Dodaj to do pliku gradle

configurations {
    all*.exclude group: 'com.google.guava', module: 'listenablefuture'
}
 1
Author: Dhruv garg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-19 05:57:52

Dodaj te dwie implementacje do kompilacji poziomu aplikacji.gradle / app / build.gradle

implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
implementation 'com.google.guava:guava:27.0.1-android'
 0
Author: Rashid Iqbal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-18 22:40:22