tccpg288
tccpg288

Reputation: 3352

Build fails with 'Program type already present: android.arch.core.util.Function' - Issues with Firebase Dependencies

I have various Firebase libraries in my project, and it appears there is some sort of conflict causing the build to fail. Below is my build.gradle:

  dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')

// Support library
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:appcompat-v7:27.1.1'

// Firebase
implementation 'com.google.firebase:firebase-storage:16.0.4'
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.firebase:firebase-appindexing:16.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.3'
implementation 'com.firebaseui:firebase-ui-firestore:4.2.1'

// Third party
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.facebook.android:facebook-android-sdk:4.38.1'
implementation 'jp.wasabeef:recyclerview-animators:2.2.3'
implementation 'com.github.clans:fab:1.6.2'
implementation 'de.hdodenhof:circleimageview:2.0.0'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.github.PhilJay:MPAndroidChart:v2.2.2'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.android.support:multidex:1.0.3'
//
//    implementation "android.arch.core:runtime:1.1.1"
//    implementation "android.arch.core:common:1.1.1"


 }

When I add the following, I am able to build successfully:

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

I posted a similar question here, and I posted my logging there for reference as well. My concern is the addition of the 2 dependencies above is only a temporary solution, as I would not want to publish my app with those dependencies. Any help appreciated!

Upvotes: 0

Views: 372

Answers (2)

tccpg288
tccpg288

Reputation: 3352

It turns out, the issue was related to either the Firebase Database dependencies or the Firebase UI dependencies. I was able to resolve with the dependencies below:

    // Firebase
implementation 'com.google.firebase:firebase-storage:16.0.4'
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.firebase:firebase-appindexing:16.0.2'
implementation 'com.google.firebase:firebase-firestore:17.1.3'
implementation 'com.firebaseui:firebase-ui-firestore:4.2.1'

Upvotes: 0

Alex Mamo
Alex Mamo

Reputation: 138824

To solve this, please change the following lines of code:

implementation 'com.google.firebase:firebase-database:16.0.4'
implementation 'com.firebaseui:firebase-ui-database:4.2.0'
implementation "com.google.firebase:firebase-firestore:17.1.2"
implementation 'com.firebaseui:firebase-ui-firestore:4.0.1'

to

implementation 'com.google.firebase:firebase-database:16.0.5'
implementation 'com.firebaseui:firebase-ui-database:4.2.1'
implementation 'com.google.firebase:firebase-firestore:17.1.3'
implementation 'com.firebaseui:firebase-ui-firestore:4.2.1'

Make also sure to use ' instead of ".

Upvotes: 1

Related Questions