Ошибка при слиянии dex Тип программы уже присутствует: android.support.v4.os.ResultReceiver$MyResultReceiver

Ошибка при объединении dex

Ниже приведены зависимости.

ext {
    anko_version='0.10.5'
    support_lib='1.0.0-alpha1'
    room_lib = "1.1.0"
}
dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    implementation "androidx.cardview:cardview:$support_lib"
    implementation "com.google.android.material:material:$support_lib"
    implementation "androidx.appcompat:appcompat:$support_lib"
    implementation "org.jetbrains.anko:anko:$anko_version"
    implementation "androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1"
    implementation "android.arch.persistence.room:runtime:$room_lib"
    annotationProcessor "android.arch.persistence.room:compiler:$room_lib"
}

ошибка

  • Что пошло не так: выполнение задачи не выполнено ': app: transformDexArchiveWithExternalLibsDexMergerForDebug'.

    com.android.builder.dexing.DexArchiveMergerException: ошибка при объединении архивов dex: /app/build/intermediates/transforms/dexBuilder/debug/0.jar, тип программы уже присутствует: android.support.v4.os.ResultReceiver$1

6 ответов

Это потому, что вы испортили зависимости. Вы должны либо полностью перейти на зависимости AndroidX, либо остаться в библиотеке поддержки. Таким образом, вместо

implementation "android.arch.persistence.room:runtime:$room_lib"
annotationProcessor "android.arch.persistence.room:compiler:$room_lib"

использование

implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"

Также обязательно проверьте ваш gradle.properties файл проекта для хранения

android.useAndroidX=true
android.enableJetifier=true

Jetifier помогает библиотекам, которые зависят от старых пакетов поддержки, использовать новые пакеты AndroidX.

PS Я не проверял, работает ли Anko с зависимостями AndroidX, но не работает ли эти свойства в вашем gradle.properties включены, у вас нет другого выбора, но запасной вариант использования библиотек поддержки, как сейчас.

Добавить следующие строки на gradle.properties

android.useAndroidX=true
android.enableJetifier=true

и поменяйте зависимости от комнаты на build.gradle(moudel:app)

implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"

Перенос зависимостей в androidx зависимостей. И в gradle.properties добавьте следующие строки (если файл еще не создан, создайте файл в корневой папке).

android.useAndroidX=true
android.enableJetifier=true

Надеюсь это поможет.

Проверьте пакет, который конфликтует с com.android.support, и исключите его из этого пакета. Для меня я использовал пакеты androidx, а также FCM, где произошло столкновение. Итак, это исправлено для меня:

implementation ('com.google.firebase:firebase-core:16.0.4') {
    exclude group: 'com.android.support'
}

Это то, что у меня сработало: опция Refactor -> Migrate to AndroidX в Android Studio. Похоже, это разрешило все, что я мог упустить при попытке выполнить миграцию AndroidX по одной зависимости за раз. https://developer.android.com/jetpack/androidx/migrate

Для меня работал Refactor -> Migrate to AndroidX в Android Studio. Похоже, это разрешило все, что я мог упустить при попытке выполнить миграцию AndroidX по одной зависимости за раз. https://developer.android.com/jetpack/androidx/migrate

У меня такая же проблема.

Не смешивайте стили зависимостей (androidx и com.android.support) в вашем проекте.

В вашем коде попробуйте заменить

implementation "androidx.appcompat:appcompat:$support_lib"

с

implementation "com.android.support:appcompat-v7:$version_of_support_library"

Полный список миграции зависимостей вы можете найти здесь.

Я должен использовать зависимость старого стиля, потому что мне нужен WorkManager и, согласно официальной документации, WorkManager в настоящее время не имеет зависимостей AndroidX.

Классы WorkManager уже находятся в пакете androidx.work, но в настоящее время зависят от библиотеки поддержки 27.1 и связанных версий компонентов Arch. Версия WorkManager с зависимостями AndroidX будет выпущена в будущем.

Добавить следующие плагины

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

Добавьте эти две строки в файл platform /android/gradle.properties

android.useAndroidX=true
android.enableJetifier=true

Вот и видео:https://youtu.be/0RaJlGipYHc

Для моего экземпляра я обновился с реализации "com.github.bumptech.glide:glide:4.0.0 до реализации" com.github.bumptech.glide:glide:4.7.1'

Другие вопросы по тегам