Ошибка нескольких файлов Dex. Landroid/архив/жизненный цикл/LiveData$1

Пожалуйста, помогите мне. Я застрял на этой проблеме так долго. Я получаю эту ошибку, когда создаю свое приложение

Ошибка: не удалось выполнить задачу ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Несколько файлов dex определяют Landroid/arch/lifecycle/ LiveData$1;

Вот мой файл build.gradle уровня приложения

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
    applicationId "com.exploro.socialmediaapp"
    minSdkVersion 15
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
        }
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.0',          {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:27.+'
compile 'com.android.support:recyclerview-v7:27.+'
compile 'com.android.support:design:27.+'
compile 'com.google.firebase:firebase-auth:11.0.4'
compile 'com.android.support:support-v4:27.+'
compile 'com.google.firebase:firebase-database:11.0.4'
compile 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
compile 'com.google.firebase:firebase-storage:11.0.4'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.firebaseui:firebase-ui-database:2.2.0'
compile 'id.zelory:compressor:2.0.0'
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile 'com.google.firebase:firebase-messaging:11.0.4'
compile 'com.github.chrisbanes:PhotoView:2.0.0'
testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'

person Ishan Gupta    schedule 03.03.2018    source источник
comment
Начните с устранения всех знаков + в вашем dependencies и вместо этого укажите конкретные версии зависимостей, которые вы хотите использовать.   -  person CommonsWare    schedule 03.03.2018
comment
Это не решило.   -  person Ishan Gupta    schedule 04.03.2018
comment
ХОРОШО. У вас есть файлы JAR в libs/?   -  person CommonsWare    schedule 04.03.2018
comment
Нет, у меня нет JAR-файлов в библиотеках. Пусто.   -  person Ishan Gupta    schedule 04.03.2018
comment
Хорошо, так много для простых решений. :-( В Android Studio, когда у вас есть дерево проекта, настроенное на представление «Проект», в нижней части дерева будет свернутая ветвь с именем «Внешние библиотеки». Если вы откроете ее, она покажет вам все зависимости, которые у вас есть. втягивая, включая транзитивные зависимости.Если вы откроете эти зависимости, вы увидите classes.jar в каждой, и если вы войдете в них, вы увидите классы Java, которые происходят из зависимости.   -  person CommonsWare    schedule 04.03.2018
comment
Вам нужно будет отследить, у кого из них есть android.arch.lifecycle.LiveData. Если бы мне пришлось угадывать, у вас будет две зависимости android.arch.lifecycle с разными версиями, каждая из которых содержит LiveData. Затем вам нужно будет использовать отчет о зависимостях Gradle, чтобы определить, какие зависимости в вашем build.gradle извлекают эти две копии LiveData.   -  person CommonsWare    schedule 04.03.2018
comment
Я проверил обширные зависимости, указанные на вкладке проектов gradle с правой стороны в tasks›android›androidDependencies. Во всем списке зависимостей каждая из них использовала livedata-core 1.1.0 (одна и та же версия).   -  person Ishan Gupta    schedule 04.03.2018


Ответы (1)


Просто исправьте версию пользовательского интерфейса firebase до 3.2.2. Изменять

compile 'com.firebaseui:firebase-ui-database:2.2.0'

to

compile 'com.firebaseui:firebase-ui-database:3.2.2'
person brucemax    schedule 04.03.2018
comment
Firebase рекомендует использовать firebase-ui версии 2.2.0 с firebaseauth или playservices версии 11.0.4 (которые я использую) - person Ishan Gupta; 05.03.2018
comment
Я использую 3.2.2 и вроде все в порядке. Но это интересная причина для этой рекомендации. Не могли бы вы дать ссылку на эту рекомендацию? - person brucemax; 06.03.2018
comment
github .com/firebase/FirebaseUI-Android/blob/master/ Проверьте совместимость раздела - person Ishan Gupta; 06.03.2018
comment
спас мой день :) - person manDroid; 20.04.2018