Java 在使用Android Studio的Android项目中包括iTextG

Java 在使用Android Studio的Android项目中包括iTextG,java,android,itext,itextg,Java,Android,Itext,Itextg,在Android Studio中包含iTextG时,我遇到以下错误 com.android.dex.DexException: Multiple dex files define Lcom/itextpdf/awt/geom/AffineTransform; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) at com.android.dx.merge.DexMerger.getSor

在Android Studio中包含iTextG时,我遇到以下错误

com.android.dex.DexException: Multiple dex files define Lcom/itextpdf/awt/geom/AffineTransform;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at com.android.dx.command.Main.main(Main.java:106)
我不知道为什么,但似乎这个图书馆里也有awt。我就是这样把它包括进去的:

  • 从下载itextg
  • 提取jar文件
  • 将itextg-5.5.4.jar复制到app目录中的libs文件夹中
  • 梯度清洁

  • 为什么awt仍在库中?

    请仔细阅读例外情况。它谈论的是
    com.itextpdf.awt
    。这与禁止的
    java.awt
    不同

    你声称awt仍在图书馆是错误的。
    com.itextpdf.awt
    包用于替换禁止的awt类。这些替换类本身是完全有效的,可以在Android上使用


    错误消息中解释了您遇到的问题:类
    com.itextpdf.awt.geom.AffineTransform
    在不同的DEX文件中定义。这意味着您使用的不仅仅是iTextG 5.5.x。您的设备上有多个iTextG。将它们全部删除,并确保只添加一个iTextG实例。

    问题是没有复制任何库,我在本线程中进一步解释了这个问题,是否有任何使用itexg和xmlworker的android示例项目?我知道iText Group的工程部门已经对其进行了测试,并且从第一次尝试就成功了。问题是什么?事实上,我刚刚意识到问题只存在于com.itextpdf.tool:xmlworker:5.5.6,当使用它时,出现了一个错误:com.android.dex.DexException:多个dex文件定义Lcom/itextpdf/awt/geom/AffineTransform;你知道为什么会出现这个问题吗?不,
    AffineTransform
    不是XML Worker的一部分。我能想到的唯一问题是使用不同版本的iTextG。例如:将iTextG 5.5.0与XML Worker 5.5.6一起使用。我尝试使用两个版本,但问题相同