Ошибка при слиянии 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'