天天看點

Eclipse首次安裝建項目運作時報錯

UNEXPECTED TOP-LEVEL EXCEPTION:

java.lang.RuntimeException: Exception parsing classes

    at com.android.dx.command.dexer.Main.processClass(Main.java:752)

    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)

    at com.android.dx.command.dexer.Main.access$1200(Main.java:85)

    at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)

    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)

    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)

    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)

    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)

    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)

    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)

    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)

    at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)

    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)

    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)

    at com.android.dx.command.dexer.Main.processOne(Main.java:672)

    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)

    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)

    at com.android.dx.command.dexer.Main.run(Main.java:277)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.eclipse.andmore.internal.build.DexWrapper.run(DexWrapper.java:282)

    at org.eclipse.andmore.internal.build.BuildHelper.executeDx(BuildHelper.java:874)

    at org.eclipse.andmore.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:597)

    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)

    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)

    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:330)

    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:405)

    at org.eclipse.core.internal.resources.Project$1.run(Project.java:551)

    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)

    at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:529)

    at org.eclipse.core.internal.resources.Project.build(Project.java:120)

    at org.eclipse.andmore.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1143)

    at org.eclipse.andmore.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:155)

    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)

    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)

    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)

    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)

    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)

    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)

    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.parseClass(Main.java:764)

    at com.android.dx.command.dexer.Main.access$1500(Main.java:85)

    at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)

    at com.android.dx.command.dexer.Main.processClass(Main.java:749)

    ... 40 more

[2016-07-13 14:58:58 - Demo] Dx 

這其實是jdk版本相容性問題。你引入的jar包編譯環境(比如是1.8)要高于你android中預設的jdk編譯版本(比如1.7)。要解決這個問題,就必須保證你android項目的編譯jdk版本要高于等于你引入jar包的編譯jdk版本,然後重新編譯就好了。有兩種解決方案:

1、低于等于你android的jdk版本來重新編譯你要引入的jar包(不推薦)

如果引入的jar是開源架構,你要去修改jar的編譯版本比較麻煩,是以不推薦

2、修改android項目的jdk版本。

可以修改android項目的jdk版本,具體修改方式如下:

Windows-->Preferences-->Java-->Compiler,然後修改預設的編譯版本:

Eclipse首次安裝建項目運作時報錯

轉載于:https://my.oschina.net/xuehouyese/blog/711167