1. ホーム
  2. android

[解決済み] クラスファイルのマジックまたはバージョンに問題がある

2022-12-26 14:39:35

質問

この質問はすでによくされていることだと思いますが、私が見つけた答えのどれもが私の問題を解決してくれませんでした。

それはエラーです。

Error:Gradle: Execution failed for task ':ffcommunity:preDexDebug'.
 com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    D:\Android SDK\sdk\build-tools\20.0.0\dx.bat --dex --output D:\Users\ReVo\Documents\IntelliJ IDEA\FFCommunity\ffcommunity\build\intermediates\pre-dexed\debug\bananaquery-2ee85432877a057e7414910b8127805535139d5d.jar D:\Users\ReVo\Documents\IntelliJ IDEA\FFCommunity\ffcommunity\libs\bananaquery.jar
Error Code:
    1
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    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.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 com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)
    ...while parsing com/comuf/revonline/bananaquery/BananaInsert.class
    1 error; aborting

エラーは bad class file magic (cafebabe) or version (0034.0000) .

同じ日に何度も問題なくアプリケーションをビルドして実行しましたが、今はこのメッセージとともに毎回失敗します。


プロジェクトSDKは Android API 19 Platform で、プロジェクトレベルは 1.7 .

CompileSDKは 19 で、buildToolsVersionは '20.0.0' .

コンパイルオプション。

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

で、その中に dependencies を持っています。

compile files('libs/bananaquery.jar')


ライブラリはSDKと一緒にビルドされます Android API 19 Platform で、プロジェクトレベルの 1.7 .

私の .jar ファイルは libs/ フォルダの中にあります。

IntelliJ IDEA 14 Preview を使用していますが、それが原因でしょうか?IntellIJ IDEA 13では、"Gradle sync"で止まったままです。

を持っているので、コンパイル ファイルは役に立たないかもしれません。 compile fileTree(dir: 'libs', include: ['*.jar']) もあります。

どのように解決するのですか?

わかりました、失礼しました。

プロジェクトSDKのセクションで Android SDK を提供する必要があります。 Java SDK を提供する必要があり、私のAndroid SDKはすべて Java 8 をSDKとして使用しているため、プロジェクトレベルが 1.7 (になっていても、間違ったバージョンのクラスファイルを作成してしまいます。)

さて、私はSDKを変更しました(その java version "1.x.0" の部分)を変更しました。

<イグ

で、問題なくコンパイルできるようです。

今日までうまくいっていたのは、私のSDKが 1.8 であり Android API x