2016-04-04 4 views
0

私は私のHelloWorld.javaに次のコードを持っている:DX Javaの変換エラー

public class HelloWorld { 
    public static void main(String[] args) { 
     System.out.println("Hello World!"); 
    } 
} 

私は、何の問題もjavac HelloWorld.java行います。

私はその後.dexファイルに変換するには、以下の方法を試してください。

dx --dex --output=classes.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

あなたは、Java 8(0034.0000)でソースコードをコンパイルしています。ご使用のバージョンdxではサポートされていません。

-sourcetargetフラグを使用して、以前のバージョンのJava用にコンパイルすることができます。

javac -source 1.6 -target 1.6 HelloWorld.java 
関連する問題