Errore: tipo di programma già presente: android.arch.lifecycle.LiveData

Quando premo il pulsante di riproduzione in Android Studio, la mia app viene compilata ma viene mostrato questo errore (redatto):

Errore: tipo di programma già presente: android.arch.lifecycle.LiveData

(Registro completo)

Ho provato a eliminare la cartella .gradle , quindi andare a Build > Clean Project e Build > Rebuilt Project . Tuttavia, non funziona. Ho anche provato a cancellare il codice sorgente, poi a clonare di nuovo da git e ad importare la cartella su Android Studio. Tuttavia, produce ancora quell’errore.

Ecco l’ app/build.gradle della mia app:

 apply plugin: 'com.android.application' android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { applicationId "com.edricchan.studybuddy" minSdkVersion 24 targetSdkVersion 27 versionCode 8 versionName "1.0.0-rc.503" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" resConfigs "en" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dataBinding { enabled = true } } dependencies { implementation 'com.android.support:support-v4:27.1.0' implementation 'com.android.support:support-annotations:27.1.0' implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation('com.android.support.test.express:express-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation 'com.android.support:appcompat-v7:27.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.android.support:design:27.1.0' implementation 'com.android.support:cardview-v7:27.1.0' testImplementation 'junit:junit:4.12' // Firebase stuff implementation 'com.google.firebase:firebase-storage:11.8.0' implementation 'com.google.firebase:firebase-firestore:11.8.0' implementation 'com.google.firebase:firebase-auth:11.8.0' implementation 'com.google.firebase:firebase-messaging:11.8.0' implementation 'com.google.android.gms:play-services-auth:11.8.0' implementation 'com.firebaseui:firebase-ui-auth:3.1.0' implementation 'com.firebaseui:firebase-ui-firestore:3.1.0' implementation 'com.firebaseui:firebase-ui-storage:3.1.0' // Provide a way to update the app implementation 'com.github.javiersantos:AppUpdater:2.6.4' // Chrome Custom Tabs implementation 'com.android.support:customtabs:27.1.0' // The app's intro screen implementation 'com.heinrichreimersoftware:material-intro:1.6.2' // Use for new Material Text field boxes recently introduced implementation 'com.github.HITGIF:TextFieldBoxes:1.3.7' // Report an issue to Github without having to open a new tab and so on... implementation 'com.heinrichreimersoftware:android-issue-reporter:1.3.1' } apply plugin: 'com.google.gms.google-services' 

    Ho avuto lo stesso problema oggi quando ho sollevato la versione della libreria di supporto.

    Prova a sostituire tutto ’27 .1.0 ‘con ’27 .0.2’


    Più tardi sono riuscito a rimuovere l’errore aggiornando anche altre librerie. Questo è il mio attuale stato di lavoro: gradle root:

     buildscript { ext.kotlin_version = '1.2.21' ext.support_version = '27.1.0' ext.anko_version = '0.10.4' ext.android_plugin_version = '3.0.1' ext.google_services_version = '11.8.0' repositories { google() jcenter() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" classpath 'com.android.tools.build:gradle:3.1.0-beta4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath 'com.google.gms:google-services:3.1.1' } } allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } } } 

    ////////////////// app gradle libraries:

     dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') { transitive = true } // kotlin: implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation "org.jetbrains.anko:anko-common:$anko_version" implementation "org.jetbrains.anko:anko-commons:$anko_version" implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.22.3' // support libraries: implementation "com.android.support:recyclerview-v7:$support_version" implementation "com.android.support:support-v4:$support_version" implementation "com.android.support:design:$support_version" implementation "com.android.support:appcompat-v7:$support_version" implementation "com.android.support:cardview-v7:$support_version" implementation "com.android.support:support-vector-drawable:$support_version" // misc: implementation 'com.github.d-max:spots-dialog:0.7@aar' implementation 'com.squareup.picasso:picasso:2.5.2' implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5' implementation 'com.backendless:backendless:4.4.0' implementation 'io.nlopez.smartlocation:library:3.3.3' // Google services: implementation "com.google.firebase:firebase-core:$google_services_version" implementation "com.google.firebase:firebase-auth:$google_services_version" implementation 'com.firebaseui:firebase-ui-auth:3.2.2' implementation "com.google.android.gms:play-services-location:$google_services_version" implementation "com.google.android.gms:play-services-auth:$google_services_version" implementation('com.google.api-client:google-api-client:1.23.0') { exclude group: 'com.google.code.findbugs', module: 'jsr305' } } 

    ///////////////

    Ho anche aggiornato graddle-wrapper.properties su:

     #Wed Dec 20 15:08:34 CET 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 

    Apparentemente, questo è il comportamento previsto:

    com.firebaseui: firebase-ui-firestore: 3.1.0 dipende da android.arch.lifecycle: extensions: 1.0.0-beta1. Passare alla versione 3.2.2 risolve il problema utilizzando le librerie Lifecycle 1.1 su cui sono basate le librerie di supporto 27.1.0. – Issue Tracker

    Per me, rimuovere le dipendenze firebase-ui risolto il problema dal momento che non stavo nemmeno usando la libreria in primo luogo.

    Firebase-UI 3.1.0 non è compatibile con Firebase / Google Services 11.8.0

    Devi eseguire l’upgrade o il downgrade in base a https://github.com/firebase/FirebaseUI-Android#compatibility-with-firebase–google-play-services-libraries

    • Firebase-UI 3.1.0 con Firebase / Google Services 11.4.2
    • Firebase / Google Services 11.8.0 con Firebase-UI 3.1.3

    Spero che questo aiuto;)

    Ho anche avuto l’errore pubblicato nella domanda originale, vale a dire:

     Error:Program type already present: android.arch.lifecycle.LiveData 

    Non era chiaro quali librerie stessero causando il problema. Con un suggerimento di @lienmt sopra ho capito che potrebbe essere collegato Firebase.

    Nel mio caso, sto usando Firebase e stavo usando anche la libreria firebase-ui 3.2.2:

     implementation 'com.firebaseui:firebase-ui-database:3.2.2' 

    Avevo aggiornato tutte le altre librerie Firebase a 15.0.0, ma ho realizzato che la mia libreria firebase-ui non era compatibile e l’ho confermata qui:

    https://github.com/firebase/FirebaseUI-Android#compatibility-with-firebase–google-play-services-libraries

    Assicurati di abbinare la tua versione di Firebase alle versioni esatte di Firebase per cui sono state corrette per l’accoppiamento.

    Bumping la mia versione firebase-ui alla 3.3.1 è stato quello che ha risolto l’errore:

     implementation 'com.firebaseui:firebase-ui-database:3.3.1' 

    Per riferimento qui ci sono le versioni che sto usando ora e la mia app è in esecuzione senza errori:

     implementation 'com.google.android.gms:play-services-wearable:15.0.0' implementation 'com.google.android.gms:play-services-auth:15.0.0' implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:design:27.1.1' implementation 'com.android.support:cardview-v7:27.1.1' implementation 'com.android.support:support-v4:27.1.1' implementation 'com.android.support.constraint:constraint-layout:1.1.0' implementation 'com.google.firebase:firebase-database:15.0.0' implementation 'com.google.firebase:firebase-core:15.0.0' implementation 'com.google.firebase:firebase-auth:15.0.0' implementation 'com.google.firebase:firebase-messaging:15.0.0' implementation 'com.firebaseui:firebase-ui-database:3.3.1' 

    @Edric: dal momento che non riesco a riprodurre con le immagini nel thread sto rispondendo alla tua domanda qui.

    Modifiche che hanno funzionato per me:

    Modulo Livello del progetto

    PS: ho anche aggiornato distributionUrl in gradle-wrapper.properties a http://services.gradle.org/distributions/gradle-4.6-all.zip

    Questo post è il risultato di ricerca più alto per l’errore molto simile: “Tipo di programma già presente: android.arch.lifecycle. ViewModelProvider $ Factory

    Il mio progetto utilizza Room e LiveData, ma non Firebase. Le seguenti modifiche hanno rimosso l’errore:

    A PARTIRE DAL:

     implementation 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor 'android.arch.persistence.room:compiler:1.0.0' implementation 'android.arch.lifecycle:extensions:1.0.0' annotationProcessor 'android.arch.lifecycle:compiler:1.0.0' 

    A:

     implementation 'android.arch.persistence.room:runtime:1.1.1' annotationProcessor 'android.arch.persistence.room:compiler:1.1.1' implementation 'android.arch.lifecycle:extensions:1.1.1' annotationProcessor 'android.arch.lifecycle:compiler:1.1.1' 

    Aggiungi le seguenti dipendenze nel file build.gradel dell’app

     implementation "android.arch.core:runtime:1.1.1" implementation "android.arch.core:common:1.1.1"