意外的顶级异常:糟糕的类文件魔术,在 Android 中 [英] Unexpected top level exception: bad class file magic, in Android
问题描述
我正在尝试使用 ANT 通过命令行编译我的 android 程序.并且代码编译得很好.但是当目标 -dex
被执行时,我得到以下错误:
I am trying to compile my android program via command line, using ANT. And the code compiles fine. But when the target -dex
is executed, I get the following error:
[dex] input: /Users/aditya/Desktop/workspace/Java/Play/bin/classes
[dex] input: /Library/Java/Android/tools/support/annotations.jar
[dex] Using Pre-Dexed annotations-5bd0afe28d834ceff67df1063f0f145b.jar <- /Library/Java/Android/tools/support/annotations.jar
[dex] Converting compiled files and external libraries into /Users/aditya/Desktop/workspace/Java/Play/bin/classes.dex...
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/BuildConfig.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/PlayActivity$1.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/PlayActivity$2.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/PlayActivity.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R$attr.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R$drawable.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R$id.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R$layout.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R$string.class
[dx]
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
[dx] at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[dx] at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[dx] at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:665)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
[dx] ...while parsing com/adi/play/R.class
[dx]
[dx] 10 errors; aborting
BUILD FAILED
/Library/Java/Android/tools/ant/build.xml:899: The following error occurred while executing this line:
/Library/Java/Android/tools/ant/build.xml:901: The following error occurred while executing this line:
/Library/Java/Android/tools/ant/build.xml:913: The following error occurred while executing this line:
/Library/Java/Android/tools/ant/build.xml:294: null returned: 1
我在使用 Gradle 和 IntelliJ 时遇到了同样的错误.
I get the same kind of error with Gradle and IntelliJ.
我无法弄清楚发生了什么实际问题.请帮忙.我正在使用 Java 1.8 来编译这个程序.有没有办法使用 Java 1.8 来做到这一点?有必要用1.6吗?如果是这样,我应该如何使用 Java 1.6?
I am not able to figure out the actual problem whats happening. Please Help. I am using Java 1.8 to compile this program. Is there no way of using Java 1.8 to do this? Is it necessary to use 1.6? If so, how should I use Java 1.6?
推荐答案
检查您用于编译类的 Java 版本.
Check the version of Java you are using to compile your classes.
您需要使用 Java 6 或 7 进行 Android 开发.最近添加了 Java 7 支持,但其功能有限,因此请使用 6 以获得最大兼容性.
You need to be using Java 6 or 7 for Android development. Java 7 support was added more recently and its functionality is limited, so use 6 for maximum compatibility.
这篇关于意外的顶级异常:糟糕的类文件魔术,在 Android 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!