Я реализую расширенный API для создания PDF для существующего проекта с использованием PDFBox.
Чтобы использовать PDFBox, мне нужно включить в свой build.gradle следующую зависимость:
implementation('com.tom_roush:pdfbox-android:1.8.10.0')
Одной из зависимостей, которые использует существующий проект, является spongycastle для криптокомпонентов:
implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0'
Итак, я сначала включил обе зависимости в мой файл build.gradle и
попытался собрать приложение. Это исключение, которое я получаю:
Тип программы уже присутствует:
org.spongycastle.cert.CertRuntimeException Message {kind = ERROR,
текст = тип программы уже присутствует:
org.spongycastle.cert.CertRuntimeException, sources = [Неизвестный источник
файл], имя инструмента = Optional.of (D8)}
Я предположил, что эта проблема возникает из-за конфликта версий из-за переходных зависимостей pdfbox, а именно:

Я попытался решить проблему с помощью зависимости от исключения в моем build.gradle:
implementation('com.tom_roush:pdfbox-android:1.8.10.0'){
exclude group:'com.madgag.spongycastle'
}
Потому что, насколько я знаю, я не использую криптографические аспекты непосредственно в моей реализации pdfbox.