Java 在android项目中生成时发生Xalan.jar错误

Java 在android项目中生成时发生Xalan.jar错误,java,android,jar,Java,Android,Jar,我在android项目中使用xalan.jar。当我构建项目->错误时(我在properties/javabuildpath/Order和Export/xalan.jar中进行了选择)。(如果没有,请在“Order and Export/xalan.jar”项目构建ok中选择xalan.jar。) 控制台中的详细信息错误: [2013-12-30 15:20:28 - SignAndroid] Dx warning: Ignoring InnerClasses attribute for an

我在android项目中使用xalan.jar。当我构建项目->错误时(我在properties/javabuildpath/Order和Export/xalan.jar中进行了选择)。(如果没有,请在“Order and Export/xalan.jar”项目构建ok中选择xalan.jar。)

控制台中的详细信息错误:

[2013-12-30 15:20:28 - SignAndroid] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.apache.xml.serializer.CharInfo$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
[2013-12-30 15:20:28 - SignAndroid] Dx 
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad utf-8 byte 9a at offset 00000002
    at com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:374)
    at com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)
    at com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:294)
    at com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)
    at com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)
    at com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)
    at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
    at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
    at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
    at com.android.dx.command.dexer.Main.processClass(Main.java:665)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
    at com.android.dx.command.dexer.Main.access$600(Main.java:78)
    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:596)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:187)
    at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:753)
    at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:593)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:321)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:396)
    at org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
    at org.eclipse.core.internal.resources.Project.build(Project.java:124)
    at com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1116)
    at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:147)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.lang.IllegalArgumentException: bad utf-8 byte 9a at offset 00000002
    at com.android.dx.rop.cst.CstString.throwBadUtf8(CstString.java:171)
    at com.android.dx.rop.cst.CstString.utf8BytesToString(CstString.java:143)
    at com.android.dx.rop.cst.CstString.<init>(CstString.java:200)
    at com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)
    ... 42 more
...while parsing cst 004f at offset 00000205
...while parsing cst 0005 at offset 00000018
...while parsing org/apache/xml/serializer/utils/SerializerMessages_ru.class

[2013-12-30 15:20:28 - SignAndroid] Dx 1 error; aborting
[2013-12-30 15:20:28 - SignAndroid] Conversion to Dalvik format failed with error 1
[2013-12-30 15:20:28-签名Android]Dx警告:忽略匿名内部类的InnerClasses属性
(org.apache.xml.serializer.CharInfo$1)没有附带
关联的EnclosingMethod属性。这个类可能是由一个
未以现代.class文件格式为目标的编译器。推荐的
解决方案是使用最新的编译器从源代码重新编译该类
并且不指定任何“-target”类型选项。忽视的后果
此警告表示此类上的反射操作将不正确
指示它*不是*内部类。
[2013-12-30 15:20:28-SignAndroid]Dx
意外的顶级异常:
com.android.dx.cf.iface.ParseException:偏移量00000002处的错误utf-8字节9a
位于com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:374)
位于com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)
位于com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:294)
位于com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)
在com.android.dx.cf.cst.ConstantPoolParser.parseifneeded上(ConstantPoolParser.java:124)
位于com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)
位于com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)
位于com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
在com.android.dx.cf.direct.DirectClassFile.parsetointerfaceside(DirectClassFile.java:388)上
在com.android.dx.cf.direct.DirectClassFile.getMagic上(DirectClassFile.java:251)
位于com.android.dx.command.dexer.Main.processClass(Main.java:665)
位于com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
com.android.dx.command.dexer.Main.access$600(Main.java:78)
位于com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
位于com.android.dx.cf.direct.ClassPathPener.processArchive(classPathPener.java:284)
位于com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
位于com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
位于com.android.dx.command.dexer.Main.processOne(Main.java:596)
位于com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
位于com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
位于com.android.dx.command.dexer.Main.run(Main.java:230)
位于sun.reflect.GeneratedMethodAccessor71.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:187)
位于com.android.ide.eclipse.adt.internal.build.BuildHelper.executex(BuildHelper.java:753)
在com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.builder(PostCompilerBuilder.java:593)
位于org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726)
位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
位于org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
位于org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:321)
位于org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:396)
位于org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
位于org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
位于org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
位于org.eclipse.core.internal.resources.Project.build(Project.java:124)
在com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1116)上
位于com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:147)
位于org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)
位于org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)
位于org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)
位于org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)
位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
原因:java.lang.IllegalArgumentException:偏移量0000000 2处的错误utf-8字节9a
位于com.android.dx.rop.cst.CstString.throwbaudutf8(CstString.java:171)
位于com.android.dx.rop.cst.CstString.utf8BytesToString(CstString.java:143)
位于com.android.dx.rop.cst.CstString.(CstString.java:200)
位于com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)
... 42多
…在分析偏移量00000205处的cst 004f时
…在分析偏移量00000018处的cst 0005时
…在解析org/apache/xml/serializer/utils/SerializerMessages_ru.class时
[2013-12-30 15:20:28-SignAndroid]Dx 1错误;流产
[2013-12-30 15:20:28-SignAndroid]转换为Dalvik格式失败,错误为1

我知道得很晚,但如果您还没有得到任何修复,下面是对我有效的解决方案。我使用的是xalan 2.7.1 jar,我将其升级到2.7.2,可以从这里下载:


另外,将“serializer.jar”替换为xalan-2.7.2附带的serializer jar。之后,只需清理项目并运行它。

您有这个jar文件的源代码吗?我现在遇到了这个问题。你找到解决办法了吗?