itextpdf - itextg Ошибка Android Android

Я пытаюсь использовать itextg, но я получаю некоторые ошибки gradle. Любая идея? Я пробовал версии 5.5.9 и 5.5.10.

Execution failed for task ':app:lint'.
Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
    lintOptions {
        abortOnError false
    }
}
The first 3 errors (out of 482) were:
/Users/xxxxx/.gradle/caches/modules-2/files-2.1/com.itextpdf/itextg/5.5.10/247811bfc4d8f4e99c909236eadf4dfc6dfa1615/itextg-5.5.10.jar: Error: Invalid package reference in library; not included in Android: javax.xml.crypto.dom. Referenced from com.itextpdf.text.pdf.security.MakeXmlSignature. [InvalidPackage]
/Users/xxxxx/.gradle/caches/modules-2/files-2.1/com.itextpdf/itextg/5.5.10/247811bfc4d8f4e99c909236eadf4dfc6dfa1615/itextg-5.5.10.jar: Error: Invalid package reference in library; not included in Android: javax.xml.crypto.dsig.dom. Referenced from com.itextpdf.text.pdf.security.MakeXmlSignature. [InvalidPackage]
/Users/xxxxx/.gradle/caches/modules-2/files-2.1/com.itextpdf/itextg/5.5.10/247811bfc4d8f4e99c909236eadf4dfc6dfa1615/itextg-5.5.10.jar: Error: Invalid package reference in library; not included in Android: javax.xml.crypto.dsig.keyinfo. Referenced from com.itextpdf.text.pdf.security.MakeXmlSignature. [InvalidPackage]

1 ответ

Насколько я понял, Android не содержит следующие пакеты.

javax.xml.crypto.dom
javax.xml.crypto.dsig

Вот почему itextpdf lib не может найти на них ссылки. Чтобы исправить это, добавьте следующую зависимость.

implementation group: 'javax.xml.crypto', name: 'jsr105-api', version: '1.0.1'

Похоже, транзитивные библиотеки отсутствуют. Попробуйте использовать {transitives = true} для этой зависимости и посмотрите, поможет ли это. Кроме того, похоже, что они могут использовать прямые модули Java для обеспечения безопасности изнутри, поэтому вам, возможно, придется убедиться, что вы правильно указали JAVA_VERSION для использования в вашем build.gradle.

Также подтвердите, что вы можете расширить представление проекта до области itextg и увидеть, что были вставлены следующие JAR-файлы.

itextpdf-x.y.z.jar
itext-xtra-x.y.z.jar
itext-pdfa-x.y.z.jar
xmlworker-x.y.z.jar

Если вы их не видите, возможно, вам придется загрузить их и включить вручную. Я недостаточно знаком с itext, чтобы знать, как они включают свои транзитивные зависимости, но они обращаются к нему на GitHub, чтобы использовать их в этом, так что подтвердите, что они есть.

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