在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。这就是我包括的方式:
为什么awt仍在库中?
请仔细阅读该异常。它谈论com.itextpdf.awt。那和禁止的是不一样的java.awt。
com.itextpdf.awt
java.awt
您关于 awt仍在库中的 指控是错误的。该com.itextpdf.awt包在那里可以替换禁止的AWT类。这些替换类完全有效,可以在Android上使用。
错误消息中说明了您遇到的问题:com.itextpdf.awt.geom.AffineTransform在不同的DEX文件中定义了该类。这意味着您不仅在使用iTextG5.5.x。您的设备上有多个iTextG。全部删除它们,并确保仅添加一个iTextG实例。
com.itextpdf.awt.geom.AffineTransform