当前位置: 首页 > 面试题库 >

使用Android Studio将iTextG包含在Android项目中

陈功
2023-03-14
问题内容

在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。这就是我包括的方式:

  1. 从http://sourceforge.net/projects/itextg/下载itextg
  2. 提取jar文件
  3. 将itextg-5.5.4.jar复制到app目录中的libs文件夹
  4. 摇篮清洁

为什么awt仍在库中?


问题答案:

请仔细阅读该异常。它谈论com.itextpdf.awt。那和禁止的是不一样的java.awt

您关于 awt仍在库中的
指控是错误的。该com.itextpdf.awt包在那里可以替换禁止的AWT类。这些替换类完全有效,可以在Android上使用。

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



 类似资料:
  • 问题内容: 我有一个本地.json文件。我不希望它在服务器上,我只希望它包含在我的应用程序中。我尝试将其直接粘贴到项目中的Eclipse中,但遇到FileNotFoundException异常,也尝试将其粘贴到Windows资源管理器/ Finder的工作区文件夹中,并得到相同的异常。我应该放在哪里? 谢谢! 问题答案: 您应该将文件放在Android项目的或目录中。从那里,您可以使用或检索它。

  • 我想在构建时将salesforce的Enterprise.jar文件包含在我的项目中,使用gradle,有没有人可以帮助我在项目中包含src/main/resources文件夹中存在的本地jar文件。

  • 在我的Android Studio项目中,我有两个子项目/模块:一个Android应用程序()和一个Android库项目()。依赖于。到目前为止还不错。 但是,需要导入AAR库才能正常工作。 因此我的配置如下: 包含 包含 现在,要包含我使用下面详细介绍的方法: 如何使用新的Gradle Android Build系统手动包含外部aar包 因此,在我的的中,我基本上有: 显然,我将dependen

  • 我尝试使用build.gradle文件在我的应用程序中包含httpmime,所有的东西都编译得很好。相反,当应用程序尝试实际使用MultipartEntityBuilder类时,日志上有一堆警告级消息表示存在问题。 以下是我的build.gradle中关于依赖关系的节选: 以下是错误: Java班: [编辑]根据答案更正依赖项 [第二次编辑]仍然有问题-现在是这些其他缺失的位,但可能是后端的问题:

  • 我的项目使用两个第三方库(大小都超过10MB)来实现一些语音处理功能。我一次只需要其中一个(就像插件一样),这是我在构建时做出的决定。到目前为止,我已经在同一个模块中使用了两个库的方法。我的身材。格拉德尔有这样的旗帜: buildConfigField“boolean”、“USE_LIB_ONE”、“true” buildConfigField“boolean”、“USE_LIB_TWO”、“fa