我正在尝试在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
。我完全不知道是什么原因引起的。
答案 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的内容的交集)。
更清楚地说,技术细节是:
您的libs文件夹中的旧xerces.jar由于内部文件夹结构而在运行。
来自存储库的新xerces具有不同的文件夹结构,并且AIDE无法理解一些奇怪的UTF编码字节。