itextpdf - itextg Android lint错误

时间:2018-05-09 19:46:47

标签: android gradle itext itextg

我正在尝试使用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]

2 个答案:

答案 0 :(得分:2)

据我了解,Android不包含以下软件包。

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

这就是为什么itextpdf lib找不到对它们的引用。要解决此问题,请添加以下依赖项。

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

答案 1 :(得分:0)

听起来缺少传递库。尝试在该依赖项上使用{transitives = true},看看它是否有帮助。此外,看起来他们可能正在使用直接Java模块来实现安全性,因此您可能必须确保在build.gradle中指定正确的JAVA_VERSION。

同时确认您可以将项目视图扩展到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上调用了它们,因此确认它们在那里。