在 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。这就是我将其包括在内的方式:
- 从下载 itextghttp://sourceforge.net/projects/itextg/ http://sourceforge.net/projects/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 的一个实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)