美文网首页
class文件转dex文件错误Caused by: com.an

class文件转dex文件错误Caused by: com.an

作者: 12e247aaefbd | 来源:发表于2019-04-01 22:48 被阅读0次
    C:\>javac HelloWorld.java
    
    C:\>dx --dex --output=HelloWorld.dex HelloWorld.class
    
    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.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 com.android.dx.command.dexer.Main.main(Main.java:245)
            at com.android.dx.command.Main.main(Main.java:106)
    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)
            ... 11 more
    1 error; aborting
    

    原因:如果你在执行class文件转dex文件时出现了这个错误,那么可能你的jdk版本高于1.6导致。

    办法:在你编译时使用javac -target 1.6 -source 1.6 HelloWorld.java,而不是javac HelloWorld.java,指定编译版本为1.6,编译class文件。

    相关文章

      网友评论

          本文标题:class文件转dex文件错误Caused by: com.an

          本文链接:https://www.haomeiwen.com/subject/gvkibqtx.html