ini4j只能从libs目录运行,而不是maven

时间:2017-11-25 06:00:33

标签: android aide-ide ini4j

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

编辑:出于某种原因,似乎有xerces作为依赖,这是已知具有这些问题的库。

1 个答案:

答案 0 :(得分: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具有不同的文件夹结构,并且AIDE无法理解一些奇怪的UTF编码字节。