0

我正在尝试在 AIDE IDE 中编译的 Android 应用程序中使用 ini4j。当我将 ini4j-0.5.4.jar 放在我的应用程序的 libs 文件夹中时,它可以工作。但是,当我在 build.gradle 的行compile 'org.ini4j:ini4j:0.5.4'中包含 ini4j 时,我得到了错误bad utf-8 byte a0 at offset 00000004。我检查了 Maven 目录中的 jar 文件,它与我的 libs 文件夹中的相同。两者都有 SHA1 4a3ee4146a90c619b20977d65951825f5675b560。我完全不知道是什么原因造成的。

编辑:出于某种原因,它似乎将 xerces 作为依赖项,这是已知存在这些问题的库。

4

1 回答 1

0

根据 Apache ( http://xerces.apache.org/xerces2-j/install.html ) xerces.jar 现在已弃用并重命名为 xercesImpl.jar,因此您必须坚持使用旧 JAR。

xerces.jar 在主发行版中不再可用。您仍然可以从已弃用的发行版中下载此 jar。xerces.jar 是一个Jar 文件,其中包含所有解析器类文件(即,它包含xercesImpl.jar 和xml-apis.jar 内容的交集)。

更清楚地说,技术细节是:

  1. 由于内部文件夹结构,您在 libs 文件夹中的旧 xerces.jar 正在工作。

  2. 来自存储库的新 xerces 具有不同的文件夹结构和一些奇怪的 UTF 编码字节 AIDE 无法理解。

于 2018-07-01T09:20:29.057 回答