Я использую проект библиотеки Android, импортируя aar в качестве модуля приложения. Приложение прекрасно компилируется в режиме отладки, но когда я пытаюсь скомпилировать в выпуске, я получаю следующую ошибку:
Error: Program type already present: com.google.gson.DefaultDateTypeAdapter
Итак, я покопался в своих зависимостях для gson и обнаружил, что в файле aar есть несколько встроенных jar-файлов, и он, кажется, конфликтует с моими внешними зависимостями, в частности Retrofit, OkHttp и Gson
![enter image description here](https://i.stack.imgur.com/X9Y6f.png)
Я пытался исключить группу com.google.code.gson при импорте модуля aar, но безуспешно, он ничего не меняет:
implementation(project(':ONprintWS')) {
exclude group: 'com.google.code.gson'
}
Я также подумал, что мог бы, возможно, удалить модифицированные зависимости в моем build.gradle, видя, как они включены из aar, но когда я делаю мои классы, я больше не могу найти пакеты retrofit / gson.
Я попросил сопровождающего SDK перестроить SDK без встроенного jar (вместо этого с использованием транзитивных зависимостей), но это может не произойти какое-то время, есть ли способ удалить встроенные jar?
ИЗМЕНЕНО, чтобы показать исключение gradle, все еще не работает
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation "com.google.code.gson:gson:2.8.5"
implementation("com.squareup.retrofit2:converter-gson:2.4.0") {
exclude group: "com.google.code.gson"
}
implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0"
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
// ONprintWS SDK
implementation 'io.realm:realm-gradle-plugin:5.3.0'
implementation(project(':ONprintWS')) { // v1.0.4
exclude group: "com.squareup.retrofit2"
exclude group: "com.squareup.okhttp3"
exclude group: "com.google.code.gson"
}