У меня есть ситуация, в которой мой проект состоит из двух разных библиотек, которые, очевидно, зависят от одного и того же компонента:
gradle.build клиентского приложения:
android {
...
}
dependencies {
...
implementation <dependency # 1>
implementation <dependency # 2>
...
}
Ошибка, которую я вижу:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
Проблема с Android:
Program type already present: <package name>.<Component>
Недавно мы внесли изменения в одну из этих зависимостей в надежде устранить эту ошибку:
build.gradle - зависимость # 1
android {
...
}
dependencies {
...
api <dependency # 1>
api <dependency # 2>
...
}
Но это изменение, очевидно, не влияет на результат.
У нас включен мультидекс. Это свойство также не влияет на результат.
Я даже дошел до добавления этого блока кода в файл gradle моего клиентского приложения:
configurations {
runtime.exclude group: "<package name>", module: "<problem module>"
}
за примеры, приведенные здесь: https://docs.gradle.org/current/userguide/dependency_types.html
У меня заканчиваются варианты.
Можно ли изменить конфигурацию gradle на один, несколько или все файлы gradle, чтобы положить этому конец? Если да, какие варианты у меня есть?